发布时间:2023-06-30 08:30
在上篇中讲述了关于TreeWidget的界面制作,本篇将讲述TreeWidget中的节点触发弹出界面(需要用到之前.ui转.py以及信号与槽的知识)。
本篇我们假设主界面的名字为MainWaindow;西游记对应的子界面名字为second;水浒传对应子界面的名字为third;红楼梦对应的子界面名字为fourth。
实现的功能:在主界面中点击西游记选项会弹出西游记对应的子界面second;点击水浒传选项会弹出水浒传对应的子界面third;点击红楼梦选项会弹出红楼梦对应的子界面fourth;
import second
from second import *
import third
from third import *
import fourth
from fourth import *
def __init__(self):
super(Ui_MainWindow, self).__init__()
self.setupUi(self)
self.retranslateUi(self)
#同样在各个子界面的类中增加
def __init__(self):
super(Ui_Form, self).__init__()
#注:此中的Ui_Form是各个子界面的类名
self.setupUi(self)
self.retranslateUi(self)
#这一步的工作是为实现界面的跳转做准备。注:类中括号里的object要改成QtWidgets.QMainWindow
在MainWindow中定义函数
self.treeWidget_2.itemClicked.connect(self.function)
赋予函数的功能
def function(self):
if self.treeWidget_2.currentItem().text(0) == "西游记":
ui_1.show()
elif self.treeWidget_2.currentItem().text(0) == "西游记":
ui_2.show()
else:
ui_3.show()
在MainWaindow的代码末尾加入
ui_1 = second.Ui_Form() ui_2 = third.Ui_Form() ui_3 = fourth.Ui_Form()
到此,上述功能已能实现。