ich versuche ein Stapellayout zwecks Übungen zu verwenden. Das funktioniert auch nur erhalte ich einen Schönheitsfehler.
Wenn ich das Programm starte, blizt für einige Millisekunden ein Fesnster auf bevor sich das eigentliche UI zeigt.
Könnte es daran liegen, dass das Stapellayout nicht das Hauptlayout ist?
PS: Ich habe den code auf das Stapellayout reduziert mit den Label's zur kontrolle um ein Beispiel mit dem Problem zu geben....
Code: Alles auswählen
from PyQt4 import QtGui
import sys
class mainWindow(QtGui.QMainWindow):
def __init__(self, parent = None):
super(QtGui.QMainWindow, self).__init__(parent)
self.createMenu()
self.createComponents()
self.createLayouts()
self.resize(400,400)
def createMenu(self):
pass
def createComponents(self):
self.btnNavi1 = QtGui.QPushButton("Seite1")
self.btnNavi2 = QtGui.QPushButton("Seite2")
self.btnNavi3 = QtGui.QPushButton("Seite3")
self.label1 = QtGui.QLabel("1")
self.label2 = QtGui.QLabel("2")
self.label3 = QtGui.QLabel("3")
self.seite1 = QtGui.QWidget()
self.seite2 = QtGui.QWidget()
self.seite3 = QtGui.QWidget()
def createLayouts(self):
layout_l1v = QtGui.QVBoxLayout()
layout_l2h_Navi = QtGui.QHBoxLayout()
layout_l2h_Navi.addWidget(self.btnNavi1)
layout_l2h_Navi.addWidget(self.btnNavi2)
layout_l2h_Navi.addWidget(self.btnNavi3)
layout_l2s_Seiten = QtGui.QStackedLayout()
layout_l2s_Seiten.addWidget(self.seite1)
layout_l2s_Seiten.addWidget(self.seite2)
layout_l2s_Seiten.addWidget(self.seite3)
layout_seite1 = QtGui.QHBoxLayout()
layout_seite1.addWidget(self.label1)
layout_seite2 = QtGui.QHBoxLayout()
layout_seite2.addWidget(self.label2)
layout_seite3 = QtGui.QHBoxLayout()
layout_seite3.addWidget(self.label3)
self.seite1.setLayout(layout_seite1)
self.seite2.setLayout(layout_seite2)
self.seite3.setLayout(layout_seite3)
layout_l1v.addLayout(layout_l2h_Navi)
layout_l1v.addLayout(layout_l2s_Seiten)
widgetZentral = QtGui.QWidget()
widgetZentral.setLayout(layout_l1v)
self.setCentralWidget(widgetZentral)
self.btnNavi1.clicked.connect(lambda: layout_l2s_Seiten.setCurrentIndex(0))
self.btnNavi2.clicked.connect(lambda: layout_l2s_Seiten.setCurrentIndex(1))
self.btnNavi3.clicked.connect(lambda: layout_l2s_Seiten.setCurrentIndex(2))
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = mainWindow()
window.show()
sys.exit(app.exec())