Seite 1 von 1
Anordnung eines horizontalem und vertikalem DockWidget
Verfasst: 20. März 2013 18:04
von stonecold
Hallo,
ich habe im Designer ein MainWindow mit einem vertikalen DockWidget auf der linken Seite und einem horizontalen unten. Die Anordnung der Widgets ist wie unter a in der angehangenen Abbildung. Ich hätte die Anordnung aber gerne wie bei b.
Weder im Designer, noch in der Voransicht durch verschieben der Widgets, lässt sich diese Ansicht erreichen.
Hat jemand einen Tipp für mich?
Danke und schöne Grüße
Re: Anordnung eines horizontalem und vertikalem DockWidget
Verfasst: 20. März 2013 19:49
von sowas
Hallo,
im Prinzip müsste folgendes funktionieren:
linksLabel = new QLabel(tr("links"));
rechtsObenLabel = new QLabel(tr("rechts oben"));
rechtsUntenLabel = new QLabel(tr("rechts unten"));
linksLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); // nur für die Sichtbarkeit
QVBoxLayout *linkesLayout = new QVBoxLayout;
QVBoxLayout *rechtesLayout = new QVBoxLayout;
QHBoxLayout *hauptLayout = new QHBoxLayout;
linkesLayout->addWidget(linksLabel);
rechtesLayout->addWidget(rechtsObenLabel);
rechtesLayout->addWidget(rechtsUntenLabel);
hauptLayout->addLayout(linkesLayout);
hauptLayout->addLayout(rechtesLayout);
setLayout(hauptLayout);
die Labels müssen gegen die Widgets ausgetauscht und die Größe bestimmt werden.
sw
Re: Anordnung eines horizontalem und vertikalem DockWidget
Verfasst: 21. März 2013 10:30
von stonecold
Hallo,
und danke für die schnelle Antwort. Gibt es denn keine Möglichkeit das über den Designer festzulegen? Wenn ich mir das z.B. bei Visual Studio anschaue (warscheinlich auch in anderen Programmen), gibt es sogar wahlweise die Möglichkeit a oder b.
Habe noch eine zweite Frage. Die DockWidgets auf der rechten Seite haben in der Vorschau eine andere Größe wie im Designer konfiguriert. Ich möchte die einzelnen Widegets aber ungern auf eine bestimmte Größe "festbrennen". Wieso passiert das mit den rechts angedockten?
Re: Anordnung eines horizontalem und vertikalem DockWidget
Verfasst: 21. März 2013 13:21
von sowas
Hallo,
das kann man auch über den Designer machen.
Das wichtigste ist aber, man muss sich intensiv mit dem Qt Layout beschäftigen.
Die Größe wird üblich über den Widgetinhalt festgelegt, aber mit sizeHint()
kann man das Verhalten der Layouts festlegen.
sw