阅读量: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方法可以切换当前页面。在初始化时,默认显示第一个页面。
运行上述代码,你将看到一个窗口,其中有两个按钮,分别可以切换到另一个页面。