PYQT实现多个界面切换(不开新窗口)

(当作学习笔记自己看,有些杂乱请理解)

参考Python 小白从零开始 PyQt5 项目实战(8)汇总篇(完整例程)_pyqt项目实战教程-CSDN博客

目前找到的最优解是用stackedWidget控件,结合sender()函数实现多个按钮连接一个槽函数

(lamda也行,网上有例子)

 def frameController(self):  # 页面控制函数
        sender = self.sender()  # 获取当前信号 sender
        index = {
            self.pushButton_1: 0,  # page_0
            self.pushButton_2: 1,  # page_1
            self.pushButton_3: 2,  # page_2
            self.pushButton_4: 3,  # page_3
        }
        self.stackedWidget.setCurrentIndex(index[sender])  # 根据信号 index 设置所显示的页面

你可能感兴趣的:(pyqt)