pyqt多页面切换功能怎么实现

   2025-02-15 6360
核心提示:在PyQt中,可以使用QStackedWidget来实现多页面切换的功能。QStackedWidget是一个堆叠的容器,可以将多个页面放在其中,并可以通

在PyQt中,可以使用QStackedWidget来实现多页面切换的功能。QStackedWidget是一个堆叠的容器,可以将多个页面放在其中,并可以通过切换当前页面来显示不同的页面。

以下是一个简单的示例代码,演示了如何使用QStackedWidget实现多页面切换功能:

from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QPushButton, QWidget, QStackedWidgetimport sysclass Page1(QWidget):    def __init__(self):        super().__init__()        layout = QVBoxLayout()        layout.addWidget(QPushButton('Go to Page 2', clicked=lambda: window.switch_page(1)))        self.setLayout(layout)class Page2(QWidget):    def __init__(self):        super().__init__()        layout = QVBoxLayout()        layout.addWidget(QPushButton('Go to Page 1', clicked=lambda: window.switch_page(0)))        self.setLayout(layout)class MainWindow(QMainWindow):    def __init__(self):        super().__init__()        self.stacked_widget = QStackedWidget()        self.setCentralWidget(self.stacked_widget)        self.pages = [Page1(), Page2()]        for page in self.pages:            self.stacked_widget.addWidget(page)        self.switch_page(0)    def switch_page(self, index):        self.stacked_widget.setCurrentIndex(index)if __name__ == '__main__':    app = QApplication(sys.argv)    window = MainWindow()    window.show()    sys.exit(app.exec_())

在上面的示例中,我们定义了两个页面(Page1和Page2),并且分别在页面上放置了一个按钮。在按钮的clicked信号中,通过调用switch_page方法来切换页面。在MainWindow类中,我们创建了一个QStackedWidget,并将页面添加到其中。通过调用setCurrentIndex方法可以切换当前页面。在初始化时,默认显示第一个页面。

运行上述代码,你将看到一个窗口,其中有两个按钮,分别可以切换到另一个页面。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言