ich bin atm. dabei Layouts für eine GUI zu machen und übe noch etwas vor mich hin.
Leider bin ich über ein kleines Problem gestolpert, das ich iwie nicht lösen kann, da ich es nichtmal verstehe
Folgendes :
Ich zeichne diverse Layouts (Horizontal, Vertikal, GridLayout) in ein QHBoxLayout mit folgendem Code :
(bisher nur zur Übung, um die Layouts und die Anordnung zu verstehen)
Code: Alles auswählen
def createLayout(self):
############ LayoutTests #############################
HLayout1 = QtWidgets.QHBoxLayout()
VLayout1 = QtWidgets.QVBoxLayout()
VLayout2 = QtWidgets.QVBoxLayout()
VLayout3 = QtWidgets.QVBoxLayout()
HLayout2 = QtWidgets.QHBoxLayout()
GridLayout = QtWidgets.QGridLayout()
StackedLayout = QtWidgets.QStackedLayout()
TabWidget = QtWidgets.QTabWidget()
VLayout1.addWidget(Color("black"))
VLayout1.addWidget(Color("red"))
VLayout1.addWidget(Color("yellow"))
VLayout1.setContentsMargins(0,0,20,0)
VLayout1.setSpacing(20)
HLayout1.addLayout(VLayout1)
HLayout1.addWidget(Color("green"))
VLayout2.addWidget(Color("blue"))
VLayout2.addWidget(Color("purple"))
HLayout1.addLayout(VLayout2)
GridLayout.addWidget(Color("Grey"), 0, 3)
GridLayout.addWidget(Color("black"), 1, 0)
GridLayout.addWidget(Color("DarkGrey"), 1, 1)
GridLayout.addWidget(Color("orange"), 2, 1)
HLayout1.addLayout(GridLayout)
TabWidget.setDocumentMode(False)
TabWidget.setTabPosition(QtWidgets.QTabWidget.North)
TabWidget.setMovable(True)
for n, color in enumerate(["red", "green", "blue", "yellow"]):
TabWidget.addTab( Color(color), color)
VLayout3.addWidget(TabWidget)
#HLayout1.addLayout(VLayout3)
Widget = QtWidgets.QWidget()
Widget.setLayout(HLayout1)
self.setCentralWidget(Widget)
Wenn ich jetzt die bisher auskommentierte Zeile :
#HLayout1.addLayout(VLayout3)
wieder aktiviere, wird nur noch dieses QTabWidget angezeigt als einziges :
Ich hätte jetzt erwartet, daß dieses "VLayout3" wie alle anderen Layouts in das "HLayout1" integriert wird.
Warum ist dieses QTabWidget so dominant ? Gibt´s vielleicht eine Einstellung, das zu verhindern ?
In der Doku finde ich auf Anhieb keinen Hinweis und die Suche im Netz brachte mich leider auch nicht weiter.
Hättet Ihr einen Tip ?