====== Splitter ======
Ähnlich wie ''QGroupBox'' ist ''QSplitter'' keine echte Layout-Klasse. Durch das Ziehen des Splitters können wir die Größe von Widgets dynamisch verändern. Widgets können einfach mit der Methode ''addWidget()'', die das Widget als einzigen Parameter erhält, hinzugefügt werden.\\
Mit der Methode ''setCollapsible()'' können wir festlegen, ob die Größe von Widgets auf 0 reduziert werden kann:
void QSplitter::setCollapsible( int index, bool collapse )
**index**: Index des Widgets (beginnend bei 0) \\
**collapse**: Ist dieser Parameter wahr, kann das Widget auf Größe 0 verkleinert werden.
Nun wollen wir drei vertikal angeordnete ''QTextEdit''-Widgets mit dynamischer Größe (aber > 0) erstellen:
// main.cpp
#include
#include
#include
#include
#include
int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
QWidget w;
QTextEdit *textEdit1, *textEdit2, *textEdit3;
QSplitter *splitter;
QVBoxLayout *layout;
// Widgets und Layout erzeugen
textEdit1 = new QTextEdit();
textEdit2 = new QTextEdit();
textEdit3 = new QTextEdit();
splitter = new QSplitter( Qt::Vertical );
layout = new QVBoxLayout();
// Widgets zum Splitter hinzufügen
splitter->addWidget( textEdit1 );
splitter->addWidget( textEdit2 );
splitter->addWidget( textEdit3 );
// Widgets können nicht auf 0 verkleinert werden
splitter->setCollapsible( 0, false );
splitter->setCollapsible( 1, false );
splitter->setCollapsible( 2, false );
layout->addWidget( splitter );
w.setWindowTitle( "SplitterWidget" );
w.setLayout( layout );
w.resize( 500, 500 );
w.show();
return app.exec();
}
Nun bekommen wir drei ''QTextEdit''-Widgets deren vertikale Größe wir durch Ziehen am Splitter ändern können:\\
{{:frameworks:qt:gui:basic:splitter.png|}}