QSplitter resize fuer QT Neuling

Alles rund um die Programmierung mit Qt
Antworten
woigl
Beiträge: 10
Registriert: 4. Dezember 2006 17:06

QSplitter resize fuer QT Neuling

Beitrag von woigl »

Hallo,

ich bin neu in QT und habe folgendes Problem...

ich erstelle ein QMainWindow und fuege einen Splitter in das CentralWidget hinzu... wie kann ich es nun automatisieren wenn sich die Groesse des MainWindows veraendert auch automatisch die Groesse des QSplitters sich aendert?

Mein Source:

Code: Alles auswählen

mainWindow = new QMainWindow();
centralSplitter = new QSplitter(mainWindow->centralWidget());

treeWidgetLeft = new QTreeWidget();
treeWidgetRight = new QTreeWidget();

centralSplitter->addWidget(treeWidgetLeft);
centralSplitter->addWidget(treeWidgetRight);
Danke, Stefan
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

mainWindow.setCentralWidget(centralSplitter);
woigl
Beiträge: 10
Registriert: 4. Dezember 2006 17:06

Beitrag von woigl »

Super, hat funktioniert!

und wie kann ich jetzt den linken Teil des Splitters wo das treeWidgetLeft sich befindet auf 100 Pixel setzen?

und wenn ich dann das Fenster vergroesser oder verkleiner soll der linke Teil seine 100 Pixel beibehalten...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Du hast die Funktionsweise von QSplitter nicht verstanden... QSplitter ist nicht dazu gedacht Widgets auf fixe Größen einzustellen.
woigl
Beiträge: 10
Registriert: 4. Dezember 2006 17:06

Beitrag von woigl »

upsala hat geschrieben:Du hast die Funktionsweise von QSplitter nicht verstanden... QSplitter ist nicht dazu gedacht Widgets auf fixe Größen einzustellen.
Okay... aber was soll ich dann verwenden?

nehmen wir an qir haben Outlook... links ist die Ordnerleiste welche durch den Benutzer in der Breite vergroesser bzw. verkleinert werden kann...
der rechte Teil ist das wo die Mails angezeigt werden... wenn man nun dieses Fenster vergroessert dann bleibt die Ordnerleiste gleich gross aber die rechte Seite mit den Mails veraendert die Groesse!

Was schlaegst du vor?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Beschäftige dich mal mit Layouts, kann man relativ gut mit dem Designer auch selbst testen
woigl
Beiträge: 10
Registriert: 4. Dezember 2006 17:06

Beitrag von woigl »

upsala hat geschrieben:Beschäftige dich mal mit Layouts, kann man relativ gut mit dem Designer auch selbst testen
das habe ich schon - jedoch fehlt mir dann die Moeglichkeit die Breite mit der Maus zu veraendern...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Schön, daß du das auch mal erwähnst, dann nimm wieder das QSplitter-Widget und lies dir dazu mal die Dokumentation genauer durch.
woigl
Beiträge: 10
Registriert: 4. Dezember 2006 17:06

Beitrag von woigl »

upsala hat geschrieben:Schön, daß du das auch mal erwähnst, dann nimm wieder das QSplitter-Widget und lies dir dazu mal die Dokumentation genauer durch.
Genau das ist der Punkt... ich kann in der Doku nichts bezueglich der vordefinierten Breite meines QSplitter finden daher wende ich mich an dieses Forum! :(
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Ich frag mich wirklich was an der Doku so schwer zu verstehen ist. Es steht alles da, deshalb kommt auch nur der Hinweis wo Du zu gucken hast.

QSplitter::setSizes ( const QList<int> & list )
QSplitter::setStretchFactor ( int index, int stretch )

Jetzt fragst Du dich wahrscheinlich selbst, wie konnte ich das nur übersehen.
woigl
Beiträge: 10
Registriert: 4. Dezember 2006 17:06

Beitrag von woigl »

Okay - danke fuer die Hilfe :?:
Antworten