pyqt5之TreeWidget中的节点触发弹出界面以及TreeWidget的界面制作------二

文章目录

    • @[TOC](文章目录)
  • 一、问题描述
  • 二、问题解决
    • 1. 在MainWindow中导入子界面的库
    • 2. 在MainWindow的类中定义一个函数
    • 3. 信号与槽函数(即在主界面点击选项西游记,水浒传,红楼梦等选项,系统能够作出反应弹出相应界面)

一、问题描述

在上篇中讲述了关于TreeWidget的界面制作,本篇将讲述TreeWidget中的节点触发弹出界面(需要用到之前.ui转.py以及信号与槽的知识)。

本篇我们假设主界面的名字为MainWaindow;西游记对应的子界面名字为second;水浒传对应子界面的名字为third;红楼梦对应的子界面名字为fourth。

实现的功能:在主界面中点击西游记选项会弹出西游记对应的子界面second;点击水浒传选项会弹出水浒传对应的子界面third;点击红楼梦选项会弹出红楼梦对应的子界面fourth;


二、问题解决

1. 在MainWindow中导入子界面的库

import second
from second import *                                                                                                  
import third                                                                                                  
from third import *                                                                                                  
import fourth                                                                                                  
from fourth import *                                                                                                  

2. 在MainWindow的类中定义一个函数

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                                                                                                 

3. 信号与槽函数(即在主界面点击选项西游记,水浒传,红楼梦等选项,系统能够作出反应弹出相应界面)

在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()

到此,上述功能已能实现。

你可能感兴趣的:(qt,ui,开发语言,qt5)