Seite 1 von 1
tableView -> Doppelclick auf Zeile
Verfasst: 1. Mai 2009 20:26
von sowbug
Hallo!
Ich lasse mir Teile aus einer SQL-Datenbank eine Tabelle füllen. Diese Tabelle liegt in einem TabView.
Der Plan ist, dass bei einem Doppelclick auf irgendeine der erzeugten Zeilen in der Tabelle der Tab gewechselt wird und dort der gesamte Datensatz noch einmal aufgerufen wird.
Nun stellt sich mir die Frage wie ich das ganze anstelle.
Ich habe irgendwann mal gelesen, dass man über einen Connect nicht direkt Daten mitgeben kann. Sonst wäre meine idee gewesen:
connect(tableView, SIGNAL(doubleClicked(), this, SLOT(selectData(SQL-ID)));
Das geht wohl nicht, oder?
Und kann ich denn überhaupt die komplette Tabelle verlinken oder muss ich bei der Schleife für jede Zeile einen eigenen Connect einbauen?
Grüße
Verfasst: 1. Mai 2009 20:32
von upsala
Eine QTabView gibt es in der Doku nicht...
Ansonsten wird heißt das Signal:
Das von dir genannte Signal gibt es überhaupt nicht.
Verfasst: 1. Mai 2009 21:43
von sowbug
upsala hat geschrieben:Eine QTabView gibt es in der Doku nicht...
Joa, TabWidget heißt das Ding, sry. Das Blättern darin ist nicht das Problem.
Ich schau mir deinen Tip mal an.
Danke erstmal!
Verfasst: 4. Mai 2009 15:25
von sowbug
Hallo.
Ok, ich habe nun wunderbar den Index des angeklickten Feldes in die neue Funktion übertragen.
Ich frage mich nur gerade wie ich aus dem tableView die Daten aus dem angeklickten Feld auslesen kann. Ich stelle mich wohl zu blöd an das richtige in der Doku zu finden.
Jemand einen Tipp?
Verfasst: 4. Mai 2009 15:34
von franzf
QVariant QModelIndex::data ( int role = Qt::DisplayRole ) const
vllt.?
Verfasst: 4. Mai 2009 16:26
von sowbug
franzf hat geschrieben:QVariant QModelIndex::data ( int role = Qt::DisplayRole ) const
Ich hab ehrlich gesagt keinen Plan wie ich damit umgehen soll...
Verfasst: 5. Mai 2009 08:36
von AuE
bleiben dir 2 Möglichkeiten..... Doku zu QVariant (oder allgemein...) oder verzweifeln...
Verfasst: 5. Mai 2009 08:55
von franzf
3. Möglichkeit:
Du verwendest das:
QVariant QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole ) const
Aber jetzt mal ehrlich:
Was kann man da nicht verstehen? Sollte sich eigentlich durch wenige Klicks in der Doku von selbst erklären.
Verfasst: 5. Mai 2009 09:16
von solarix
Ich hab ehrlich gesagt keinen Plan wie ich damit umgehen soll...
Die Jungs hier gehen davon aus, dass du mit einem Model (QSqlQueryModel, QStandardItemModel oder ein eigenes...) und einer View (QTableView) arbeitest. Ich bin mir da nicht so sicher, weil du ja auch "TabView" geschrieben hast, aber ein "TabWidget" meintest...
Der Punkt ist der: Wenn du mit einer Model/View-Implementierung arbeitest, kannst du die Daten ja vom gleichen Model beziehen, welches die TabelView anzeigt... _ein_ Model, zwei "Views" (eine View für die ganze Tabelle, eine für nur eine Zeile).
Verfasst: 5. Mai 2009 09:24
von franzf
solarix hat geschrieben:Die Jungs hier gehen davon aus, dass du mit einem Model (QSqlQueryModel, QStandardItemModel oder ein eigenes...) und einer View (QTableView) arbeitest. Ich bin mir da nicht so sicher, weil du ja auch "TabView" geschrieben hast, aber ein "TabWidget" meintest...
Ich bin mir sicher, dass er mit nem Model arbeitet, sonst würde er nicht schreiben
Ok, ich habe nun wunderbar den Index des angeklickten Feldes in die neue Funktion übertragen.
Außer er meint jetzt mit "index" row und col...
