Seite 1 von 1
QSplitter und QGridLayout(s)
Verfasst: 13. Februar 2009 16:20
von CLRS530
Hi, ich habe derzeit 2 GridLayouts Seite an Seite in einem weiteren GridLayout. Ich möchte nun diese beiden Layouts in der Größe verschiebbar machen. QSplitter kann ja nur einzelne Widgets verschieben, wodurch ich schonmal die Layouts nicht in einen Splitter packen kann. In den beiden Grid Layouts sind allerdings wiederum einige Widgets, sodass ich das auch nicht einfach mit Splittern lösen kann. Jemand eine Idee, wie ich das lösen kann?
Den Splitter bei dem Hauptlayout also parent zu übergeben, brachte auchn nicht den gewünschten Erfolg
Verfasst: 15. Februar 2009 21:13
von sigvdr
Dann pack die beiden GridLayouts jeweils in ein zusätzliches Widget und dann die beiden zusätzlichen Widgets in den Splitter.
Gruß Sig
Verfasst: 18. Februar 2009 14:53
von CLRS530
Die eventuelle Möglichkeit kam mir auch schon. Aber kann ich das mit dem Layout dann nicht mehr oder weniger sowieso lassen? Außer vielleicht eine Grundanordnung der Widgets in dem Layout. Aber irgendwelche Größenänderungen oder ähnliches werden doch irre kompliziert, da sie an dem Widget und dem Layout gemacht werden müssen oder passt sich das Widget dem Layout an?
Verfasst: 21. Februar 2009 22:08
von sigvdr
Das ist mal auf die schnelle mit dem Designer zusammen geklickt und als
Dialog.ui
so gespeichert worden. Ein Beispiel hilft evtl. mehr als große Erklärungen!
So ähnlich stellst du dir das doch vor ?
Code: Alles auswählen
<ui version="4.0" >
<class>Dialog</class>
<widget class="QDialog" name="Dialog" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>610</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle" >
<string>Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3" >
<item>
<widget class="QSplitter" name="splitter" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<widget class="QWidget" native="1" name="widget" >
<layout class="QVBoxLayout" name="verticalLayout" >
<item>
<widget class="QLineEdit" name="lineEdit" />
</item>
<item>
<widget class="QTextEdit" name="textEdit" />
</item>
</layout>
</widget>
<widget class="QWidget" native="1" name="widget_2" >
<layout class="QVBoxLayout" name="verticalLayout_2" >
<item>
<layout class="QHBoxLayout" name="horizontalLayout" >
<item>
<widget class="QPushButton" name="pushButton" >
<property name="text" >
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2" >
<property name="text" >
<string>PushButton</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QTextEdit" name="textEdit_2" />
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
Verfasst: 22. Februar 2009 01:13
von CLRS530
Hey super! Vielen Dank für deine Mühe. Ich habe den Test mal angeschmissen und es verhält sich wirklich exakt so wie ich mir das vorgestellt hatte. Auch das Verändern der Widgets beim Verändern der Größe des Fensters habe ich bisher nicht hinbekommen gehabt, auch wenn ich da noch nicht wirklich viel Zeit investiert hatte. Das ging bei Delphi irgendwie noch trivialer 8).
Ich guck mir das noch genauer und poste dann hier nen Ergebnis, aber du hast mir wirklich sehr geholfen
EDIT:
Yeah, rult. Hab es jetzt auch dynamisch eingebaut bekommen und hab nun endlich auch das Zauberwort für QMainWindows gefunden. setCentralWidget 8)