[gelöst] [qt4] auslesen der tabellendaten zum editieren

Alles rund um die Programmierung mit Qt
Antworten
nibbler
Beiträge: 6
Registriert: 25. März 2009 11:01
Kontaktdaten:

[gelöst] [qt4] auslesen der tabellendaten zum editieren

Beitrag von nibbler »

grüße.
ich habe ein kleines problem. ich habe ein tableview in dem ich sql daten darstelle. ich möchte nun, wenn ich in eine spalte klicke, dass ich die daten zurückbekomme um sie quasi an widget zu übergeben und dort die daten dann editieren kann.

ich erinnere mich schwach daran das sowas möglich ist.
Zuletzt geändert von nibbler am 26. März 2009 14:30, insgesamt 1-mal geändert.
nibbler
Beiträge: 6
Registriert: 25. März 2009 11:01
Kontaktdaten:

Beitrag von nibbler »

soweit ich mich jetzt weiter schlau gemacht habe. wir beim klick das signal clicked(spalte,zeile) ausgelöst...
wäre über hilfen sehr erfreut.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Ein QTableView hat eigentlich nur das Signal "clicked(const QModelIndex&)", während ein QTableWidget ein "cellClicked(int row, int col)" hat.
Was von dem verwendest du jetzt?
Beim QModelIndex solltest du schnell mit der data()-Methode an deine Daten kommen, beim TableWidget gibts die Methode "item(int row, int col)", welche ein QTableWidgetItem* zurück gibt, welches wiederum eine data()-Methode hat.

Wenn du eh schon eine SQL-Datenbank für deine Daten verwendest, nimm doch zum Anzeigen gleich QTableView + QSql(Relational)TableModel.
nibbler
Beiträge: 6
Registriert: 25. März 2009 11:01
Kontaktdaten:

Beitrag von nibbler »

das mit dem model index ist n guter tipp. gleich mal ausprobieren... danke :)

ich verwende ein mainwindow. da drinne is n qtableview wo drinne ich 4 übersichten anzeigen lassen will (halt je nach auswahl).
3 davon lasse ich mit nem qsqlrelationmodel anzeigen, meine 4te wird mittels qsqlquerymodel angezeigt, da ich dort informationen aus 4 tabellen brauche.
nibbler
Beiträge: 6
Registriert: 25. März 2009 11:01
Kontaktdaten:

Beitrag von nibbler »

wäre über weitere hilfen sehr erfreut :D
nibbler
Beiträge: 6
Registriert: 25. März 2009 11:01
Kontaktdaten:

Beitrag von nibbler »

danke für die hilfe. habs mit dem model hinbekommen.
rufe connect auf->
connect(ui.tvData,SIGNAL(clicked(const QModelIndex)), this, SLOT(user(QModelIndex)));
desweiteren disconnecte ich die signals vor jedem aufruf, da ja nur in 2 übersichten das passieren soll.

auslesen passiert dann mittels
row=model.row()
und
record(row).value(0)


eine letzte frage noch wie kann ich einem lineedit werte vorgeben?
nibbler
Beiträge: 6
Registriert: 25. März 2009 11:01
Kontaktdaten:

Beitrag von nibbler »

okay alles geklärt.
Antworten