Whenever I run the code below to create a window a blank window shows up momentarily before the main window. I have been removing/moving lines in an attempt to figure out what the cause is.
What am I doing wrong that causes this blank window to show up briefly?
import sys
from PyQt5.QtWidgets import (
QApplication,
QComboBox,
QFormLayout,
QLineEdit,
QStackedLayout,
QVBoxLayout,
QWidget,
QPushButton,
QListWidget,
QAbstractItemView,
)
class Window(QWidget):
def __init__(self):
super().__init__()
self.setFixedSize(260, 380)
self.setWindowTitle("LogfileParser")
layout = QVBoxLayout()
self.setLayout(layout)
self.pageCombo = QComboBox()
self.pageCombo.addItems(["TSLogfileParser", "MBLogfileParser"])
self.stackedLayout = QStackedLayout()
self.page1 = QWidget()
self.page1Layout = QFormLayout()
self.line_edit = QLineEdit()
self.line_edit.setReadOnly(True)
self.page1Layout.addRow("Directory:", self.line_edit)
self.browsebutton = QPushButton("Browse")
self.page1Layout.addRow(self.browsebutton)
self.page1lw = QListWidget(selectionMode=QAbstractItemView.ExtendedSelection)
self.lengthpage1lw = len(self.page1lw)
self.page1Layout.addRow(self.page1lw)
self.page1.setLayout(self.page1Layout)
self.addbutton = QPushButton("Add")
self.page1Layout.addWidget(self.addbutton)
self.page1Layout.addRow(self.addbutton)
self.removebutton = QPushButton("Remove")
self.page1Layout.addRow(self.removebutton)
self.parsebutton = QPushButton("Parse")
self.page1Layout.addRow(self.parsebutton)
self.stackedLayout.addWidget(self.page1)
layout.addWidget(self.pageCombo)
layout.addLayout(self.stackedLayout)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
CodePudding user response:
I have had this issue before too, the problem is QStackedLayout. If you change it to QStackedWidget it will resolve.
self.stackedLayout = QStackedWidget()
And at the bottom
layout.addWidget(self.stackedLayout)