Seite 1 von 1
[gelöst] [qt4] auslesen der tabellendaten zum editieren
Verfasst: 25. März 2009 11:11
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.
Verfasst: 25. März 2009 14:12
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.
Verfasst: 25. März 2009 14:43
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.
Verfasst: 25. März 2009 14:59
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.
Verfasst: 26. März 2009 08:05
von nibbler
wäre über weitere hilfen sehr erfreut

Verfasst: 26. März 2009 13:51
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?
Verfasst: 26. März 2009 14:30
von nibbler
okay alles geklärt.