Seite 1 von 1
[gelöst] QMainWindow durch QSplitter einteilen
Verfasst: 8. November 2005 11:09
von MrLast
Moin (erster Post \o/

)!
Ich habe ein QMainWindow, welches ich mit einem Splitter in mehrere Bereiche einteile. Das geht ganz simpel so:
Code: Alles auswählen
ctor von MainWindow
mySplitter = new QSplitter(this);
mySplitter->addWidget(myTreeWidget);
mySplitter->addWidget(myFoo);
mySplitter->addWidget(myBar);
setCentralWidget(mySplitter);
Ergebnis:
Ich will aber im Splitter nochmal ein Feld horizontal unterteilen, ungefähr so:
Wie geht das

Danke für eure Hilfe!
Verfasst: 8. November 2005 11:24
von FlorianBecker
Aus MyFoo einen Splitter machen und dort MyFoo und myFooBar einfügen.
Verfasst: 8. November 2005 11:43
von MrLast
Hm ich bekomms irgendwie nicht hin, dass Fenster ist weiterhin so aufgebaut wie bisher.
Wo liegt der Fehler bei diesem Code?
Code: Alles auswählen
mySplitter = new QSplitter(this);
mySplitterVerti = new QSplitter(this);
mySplitterVerti->setOrientation(Qt::Vertical);
mySplitterVerti->addWidget(myFoo);
mySplitterVerti->addWidget(myBar); // 2x vergeben
mySplitter->addWidget(myTreeWidget);
mySplitter->addWidget(mySplitterVerti);
mySplitter->addWidget(myBar); // 2x vergeben
setCentralWidget(mySplitter);
Verfasst: 8. November 2005 11:53
von klogg
Code: Alles auswählen
mySplitter = new QSplitter(this);
mySplitterVerti = new QSplitter(this);
mySplitterVerti->setOrientation(Qt::Vertical);
mySplitterVerti->addWidget(myFoo);
mySplitterVerti->addWidget(myBar); // 2x vergeben
Probier mal
mySplitterVerti = new QSplitter(mySplitter);
Das wäre jetzt so meine erste Idee...
HENNING
Verfasst: 8. November 2005 13:14
von MrLast
Schafft leider auch kein Abhilfe

Verfasst: 8. November 2005 13:29
von FlorianBecker
Was macht ein cleverer Mensch? Es baut sein Problem mit dem Designer nach und erhält folgende Ausgabe vom uic:
Code: Alles auswählen
splitter = new QSplitter(this);
splitter->setOrientation(Qt::Horizontal);
myTreeWidget = new QListWidget(splitter);
splitter1 = new QSplitter(splitter);
splitter1->setOrientation(Qt::Vertical);
myFoo = new QListWidget(splitter1);
myFooBar = new QListWidget(splitter1);
vboxLayout1 = new QVBoxLayout(splitter1);
vboxLayout1->setSpacing(6);
vboxLayout1->setMargin(8);
myBar = new QListWidget(splitter);