Hallo,
als MFC Oldie und QT newbe hänge ich bei meinem Vorhaben momentan fest und bräuchte einen Hinweis.
Kurz zum Vorhaben:
Splitter mit 3 Bereichen (1x links, 2xrechts). Links ist ein QTreeView - zum anzeigen der Verzeichnisse, rechts unten ein QTableView zum anzeigen der Dateien in diesem Verzeichnis und rechts oben sollen Details der markierten Dateien angezeigt werden.
Die Details sollen mit Edit-Felder und Combo-Boxen angezeigt werden, welche ich frei positionieren möchte.
Nach dem erfolglosen suchen in der QT Hilfe habe ich jedoch keine Idee, welche View-Klasse/Widget ich dem QSplitter mit addWidget hinzufügen soll.
Gibt es bei QT eine "Basis-Window" Klasse, die ich dem Splitter hinzufügen kann und in die ich die Widgets einhängen kann?
Die anderen beiden Bereiche (QTreeView, QTableView) arbeiten bereits wie gewünscht.
Kann mir jemand einen Tipp geben, in welche Richtung ich weitersuchen soll?
Danke und Gruß
Uwe
[solved] QSplitter - hänge fest :-(
[solved] QSplitter - hänge fest :-(
Zuletzt geändert von doc750 am 30. Dezember 2006 12:33, insgesamt 1-mal geändert.
-
- Beiträge: 146
- Registriert: 22. September 2006 20:53
Schaue mal bei QHBoxLayout, QVBoxLayout und QGridLayout nach.
In diese Container kannst du alle Widgets packen und das Layout dann dem Splitter hinzufügen.
Mehr Infos zu Layouts: http://doc.trolltech.com/4.2/examples.h ... t-examples
Cheers
DonTinelli
In diese Container kannst du alle Widgets packen und das Layout dann dem Splitter hinzufügen.
Mehr Infos zu Layouts: http://doc.trolltech.com/4.2/examples.h ... t-examples
Cheers
DonTinelli
@DonTinelli,
danke für die Hinweise. Diese drei Klassen habe ich mir auch angeschaut, hatte aber die Befürchtung, dass insbesondere bei QHBoxLayout, QVBoxLayout die Positionierung nicht frei wählbar ist. Ich werde mir aufgrund deine Antwort, die QGridLayout Klasse nochmals genauer anschauen, vielleicht ermöglicht mir diese Klasse die notwendige Flexibilität der Positionierung.
@upsala,
vielen Dank für deinen Hinweis. Mit dem Designer habe ich mich überhaupt noch nicht beschäftigt. Ich denke, dass wenn ich das Problem mit dem einhängen der Widgets in den Splitter gelöst habe, ich mich mit dem Designer beschäftigen werden.
p.s. Grüße in das schöne Landshut. Uwe@Rosenheim/ex. Dorfen.
Vielen Dank für die prompte Hilfe.
Gruß Uwe
danke für die Hinweise. Diese drei Klassen habe ich mir auch angeschaut, hatte aber die Befürchtung, dass insbesondere bei QHBoxLayout, QVBoxLayout die Positionierung nicht frei wählbar ist. Ich werde mir aufgrund deine Antwort, die QGridLayout Klasse nochmals genauer anschauen, vielleicht ermöglicht mir diese Klasse die notwendige Flexibilität der Positionierung.
@upsala,
vielen Dank für deinen Hinweis. Mit dem Designer habe ich mich überhaupt noch nicht beschäftigt. Ich denke, dass wenn ich das Problem mit dem einhängen der Widgets in den Splitter gelöst habe, ich mich mit dem Designer beschäftigen werden.
p.s. Grüße in das schöne Landshut. Uwe@Rosenheim/ex. Dorfen.
Vielen Dank für die prompte Hilfe.
Gruß Uwe
Du kannst alles, was von QWidget erbt, an den Splitter anhängen, u.a. auch einen Splitter
Einfach mal bissl code:
Mit weniger Aufwand gehts glaub ich net
Du musst den TreeViews natürlich noch ein Model zuweisen (z.B. ein QDirModel).
Grüße
Franz
// Nachtrag:
Schau dich mal in den Qt-Examples / Demos um, da gibt es eines namens "Chip". Da kannste auch nochmal bissl "wühlen".
Einfach mal bissl code:
Code: Alles auswählen
QSplitter *hSplitter = new QSplitter;
hSplitter->setOrientation( Qt::Horizontal );
QSplitter *vSplitter = new QSplitter;
vSplitter->setOrientation( Qt::Vertical );
QTreeView* linkeDateiUebersicht = new QTreeView;
QTreeView* rechtsUnten = new QTreeView;
MyFileProperties* rechtsOben = new MyFileProperties;
// das MyFileProperty muss irgendwann
// im "Stammbaum" von QWidget erben.
vSplitter->addWidget( rechtsOben );
vSplitter->addWidget( rechtsUnten );
hSplitter->addWidget( linkeDateiUebersicht );
hSplitter->addWidget( vSplitter );
// wenn du direkt in einem QMainWindow bist:
setCentralWidget( hSplitter );
Du musst den TreeViews natürlich noch ein Model zuweisen (z.B. ein QDirModel).
Grüße
Franz
// Nachtrag:
Schau dich mal in den Qt-Examples / Demos um, da gibt es eines namens "Chip". Da kannste auch nochmal bissl "wühlen".
-
- Beiträge: 146
- Registriert: 22. September 2006 20:53