【PyQt5】换个思路解决tabWidget的切换问题

最近碰到一个UI的需求,客户需求是tabWidget在切换的时候,不是点上面的tab按钮,如下1位置所示,而是点击左侧的pushbutton按钮,第一次碰到这样 的需求,仔细考虑之后,觉得可以通过信号和槽函数的方式实现,具体思路如下:在这里插入图片描述
1.做好UI
2.设定槽函数,这里注意到tabwidget,里面有个参数是currentIndex,就利用这个参数来写代码
在这里插入图片描述
代码如下:

from PyQt5 import QtCore, QtGui, QtWidgets
from untitled001 import Ui_MainWindow
import sys

class window(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(self.tab_change_0)
        self.pushButton_2.clicked.connect(self.tab_change_1)
    def tab_change_0(self):
        self.tabWidget.setCurrentIndex(0)
    def tab_change_1(self):
        self.tabWidget.setCurrentIndex(1)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = window()  # 创建窗体对象
    MainWindow.show()  # 显示窗体
    sys.exit(app.exec_())  # 程序关闭时退出进程

主要工作到这里就基本完成,但还有个小问题,tabwidge上面的选择框还是存在,如何解决?其实也很简单,有标签挡住即可,比如下图所示,记得图层的上下位置不要搞错就没有问题了!
在这里插入图片描述

3步即可搞定,是不是很简单?至于上面代码里面有看不懂引用的部分,可以参考下面的文章,也是比较实用的技巧哦!
【Python心得】解决PyQt5 UI更新同步问题


版权声明:本文为aa12551827原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。