Treeview und Tabelle

Alles rund um die Programmierung mit Qt
Antworten
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

Treeview und Tabelle

Beitrag von D_ron »

Hallo zusammen!

Ich habe eine TreeView mit einem eingenen Modell.
Je nachem welches Item ich in der TreeView anklicke soll in einer Tabelle die entsprechenden Daten zu diesem Item angezeigt werden.

Könnt Ihr mir bitte sagen wie man da genau vorgeht?
Bin noch nicht so fit in Qt :)
Korgen
Beiträge: 42
Registriert: 28. März 2006 16:37

Beitrag von Korgen »

Hi,
zunächst einmal würde ich dir die Hilfe zu Signals&Slots, QItemSelectionModel und QModelIndex empfehlen.

wenn ich das richtig verstehe solltest du das currentChanged Signal des SelectionModels des TreeView mit einem eigenen Slot verbinden, der dann die Daten anzeigt.

Irgendwie so in der richtung:

connect ( ui.TreeView->selectionModel(), SIGNAL ( currentChanged ( const QModelIndex & , const QModelIndex & ), this, SLOT ( onCurrentChanged( const QModelIndex &, const QModelIndex & ) ) );


void myClass::onCurrentChanged( const QModelIndex &selected, const QModelIndex &deselected)
{
QString stringDataOfSelection = selected.data().toString();
ui.LineEdit->setText( stringDataOfSelection );
}

dann sollte ui.LineEdit nach einem Klick auf den Tree die Daten, die hinter dem Index im Tree liegen (falls sie in einen String konvertiert werden können) anzeigen.

Grüße
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Event. wäre auch der QDataWidgetMapper noch was für dich. Ansonsten hat Korgen schon recht, befasse dich mal mit dem QItemSelectionModel.
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Beitrag von nando »

QItemModel ist schon der richtige Ansatz.

Aber wenn du Deine Daten in einer TreeView darstellst, nehme ich an, dass sie verschachtelt sind, also nicht einfach tabelarisch...

du musst dann schauen, wie du die daten, bzw. welche daten du an eine QTableView lieferst....

Im Prinzip hast du ja in irgend einer Form deine gesamten Daten in dem Modell gespeichert. Wenn jetzt eine Anfrage von der View commt (data methode), dann musst du, falls du verschachtelte Daten hast die richtigen in tabelarischer Form liefern....


Gruss,
Nando
Antworten