中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

pyqt多頁面切換功能怎么實現

小億
158
2023-11-18 12:13:01
欄目: 編程語言

在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方法可以切換當前頁面。在初始化時,默認顯示第一個頁面。

運行上述代碼,你將看到一個窗口,其中有兩個按鈕,分別可以切換到另一個頁面。

0
木兰县| 绵阳市| 如东县| 监利县| 孙吴县| 塘沽区| 庐江县| 和硕县| 额济纳旗| 名山县| 神池县| 老河口市| 特克斯县| 临洮县| 淮安市| 永安市| 修武县| 叙永县| 确山县| 胶州市| 丰城市| 方山县| 靖边县| 澄迈县| 太白县| 团风县| 霍州市| 西安市| 开化县| 那曲县| 卢湾区| 西乡县| 阜城县| 肥城市| 科尔| 阿城市| 石阡县| 永和县| 齐齐哈尔市| 大姚县| 女性|