最近碰到一个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版权协议,转载请附上原文出处链接和本声明。