PyQt5在每个窗口的单个窗口中打开

时间:2019-04-25 11:34:46

标签: python user-interface interface pyqt5

First screen

Second screen

我们的项目有七个不同的页面,例如欢迎创建帐户登录等。

但是PyQt5的工作原理如此不同,或者我没有找到。

例如,如果我想通过下一页,请单击按钮,然后PyQt5打开新页面,但不打开同一窗口。我该如何解决? PyQt5在新窗口中打开所有内容。

1 个答案:

答案 0 :(得分:0)

为此使用QStackedLayoutQStackedWidget

class Window(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.stack = QStackedWidget()
        self.stack.addWidget(QLabel("Page1"))
        self.stack.addWidget(QLabel("Page2"))
        self.stack.addWidget(QLabel("Page3"))

        button = QPushButton("Next")
        button.clicked.connect(self.next)

        layout = QVBoxLayout(self)
        layout.addWidget(self.stack)
        layout.addWidget(button)

    def next(self):
        self.stack.setCurrentIndex(self.stack.currentIndex() + 1)

如果需要更全面的信息,另请参见QWizard class