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

avatar
作者
筋斗云
阅读量:6

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

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

from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QPushButton, QWidget, QStackedWidget import sys  class 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方法可以切换当前页面。在初始化时,默认显示第一个页面。

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!