Seite 1 von 1

wie QWidget Größe auf Inhalt ausrichten?

Verfasst: 20. November 2013 11:19
von MADsCIENTIST
Hallo liebe Community,

ich bekomme es einfach nicht hin, dass sich mein Widget auf den
darin enthaltenen Inhalt größenmäßig anpasst.

Folgende Struktur ist gegeben:
1. QWidget (Hauptanwendung) nutzt ein QVBoxLayout ("rootLayout")
1.1 QHBoxLayout ("contextLayout")
1.1.1 QWidget nutzt ein QVBoxLayout (Button-Menu)
1.1.1.1 QPushButton's
1.1.2 QWidget (View-Window) nutzt ein QVBoxLayout
1.1.2.1 QWidget (Header-Bar)
1.1.2.x ...
1.2 QWidget (Status-Bar)
1.2.x ...


Veranschaulichung:
Bild

Problem: Es bildet sich ungenutzter (unnötiger) Platz zwischen dem
horizontalen Layout (aus Punkt 1.1) u. der Status-Bar (aus Punkt 1.2)!
=> Weil die Höhe der Applikation nicht verändert wird.

Bisherige Einstellungen:

Code: Alles auswählen

// FÜR DIE HAUPTANWENDUNG
rootLayout.setParent(this);
rootLayout.setMargin(0);
rootLayout.setSpacing(0);
rootLayout.addLayout(&contextLayout);
rootLayout.addWidget(&bottomBar, 0, Qt::AlignBottom);
setLayout(&rootLayout);

// FÜR DAS CONTEXT LAYOUT
contextLayout.setSpacing(0);
contextLayout.addWidget(&buttonMenu, 0, Qt::AlignLeft);
contextLayout.addWidget(&view);

// FÜR DIE STATUS-BAR
bottomBar.setParent(this);
bottomBar.setFixedHeight(20);

// FÜR DAS BUTTON-MENÜ LAYOUT
menuLayout.setMargin(0);
menuLayout.setSpacing(0);

// initialisiere Buttons u. füge sie dem Layout hinzu
// ...

// FÜR DAS BUTTON-MENÜ
buttonMenu.setParent(this);
buttonMenu.setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
buttonMenu.setLayout(&menuLayout);

// FÜR DAS VIEW-WINDOW LAYOUT
viewLayout.setMargin(0);
// 	viewLayout.setSpacing(0);
viewLayout.addWidget(&header, 0, Qt::AlignTop);

// FÜR DAS VIEW-WINDOW
view.setParent(this);
view.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
view.setLayout(&viewLayout);

// FÜR DEN HEADER
header.setParent(&view);
// ... weitere Einstellungen für den Header

Hoffe jemand hat eine Lösung.
Bedanke mich für sinnvolle Antworten schon mal im Vorraus^^