微信公众号 |  新浪微博 | 5分享社区

5分享

类别:
当前位置: 主页 > 技术圈 > 程序开发 >

python QT designer实现多个窗口

时间:2021-01-10 15:36来源:网上 作者:5分享网友 点击:
在使用QT designer搭建完五个界面并生成完五个.py文件后,编写一个主界面函数来实现上述的调用关系。其中,自动生成的文件中有两处需要修改,1是将每个文件中class括号里的继承类由

在使用QT designer搭建完五个界面并生成完五个.py文件后,编写一个主界面函数来实现上述的调用关系。其中,自动生成的文件中有两处需要修改,1是将每个文件中class括号里的继承类由Object改为QMainWindow,2是将每个文件的class类名修改成不一样的,在这里修改成了main_MainWindow,subone_MainWindow ,subtwo_MainWindow,table_MainWindow,train_MainWindow。

from PyQt4 import QtCore, QtGui
import sys
# 以下五个文件为pyuic生成的.py文件,注意修改里面类的名字不要重复
from sub_window_one import subone_MainWindow  
from sub_window_two import subtwo_MainWindow
from main_window import main_MainWindow
from table_window import table_MainWindow
from train_window import train_MainWindow

class Mywindow1(QtGui.QMainWindow):
    def __init__(self):
        super(Mywindow1, self).__init__()
        self.ui = subone_MainWindow()  # 这句话是实例化类
        self.ui.setupUi(self)  # 这句话相当于设置控件

    def open(self):  # 被调用的类需要再编写一个open函数
        self.show()

class Mywindow2(QtGui.QMainWindow):
    def __init__(self):
        super(Mywindow2, self).__init__()
        self.ui = subtwo_MainWindow()
        self.ui.setupUi(self)

    def open(self): # 被调用的类需要再编写一个open函数
        self.show()

class Mywindow3(QtGui.QMainWindow):
    def __init__(self):
        super(Mywindow3, self).__init__()
        self.ui = main_MainWindow()
        self.ui.setupUi(self)

class Mywindow4(QtGui.QMainWindow):
    def __init__(self):
        super(Mywindow4, self).__init__()
        self.ui = table_MainWindow()
        self.ui.setupUi(self)

    def open(self):  # 被调用的类需要再编写一个open函数
        self.show()

class Mywindow5(QtGui.QMainWindow):
    def __init__(self):
        super(Mywindow5, self).__init__()
        self.ui = train_MainWindow()
        self.ui.setupUi(self)

    def open(self):  # 被调用的类需要再编写一个open函数
        self.show()

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    # 实例化各个类
    w1 = Mywindow1()
    w2 = Mywindow2()
    w3 = Mywindow3()
    w4 = Mywindow4()
    w5 = Mywindow5()
	# 将主窗口进行展示调用
    w3.show()
    # 主窗口与子窗口1,2使用connect方法连接起来
    w3.ui.pushButton.clicked.connect(w2.open)
    w3.ui.pushButton_2.clicked.connect(w1.open)
    # 子窗口1与子窗口1-1使用connect方法连接起来
    w1.ui.pushButton_4.clicked.connect(w4.open) 
    # 子窗口2与子窗口2-1使用connect方法连接起来 
    w2.ui.pushButton_4.clicked.connect(w5.open) 
    
    sys.exit(app.exec_())


温馨提示
感谢您浏览《python QT designer实现多个窗口》
现邀请您关注我们的【5分享】(fivsha)公众号,你将获取更多的IT资源。
如果有疑问也可以在公众号里面回复您遇到的问题或是点击在线帮助联系我们。
顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
网名:
验证码:点击我更换图片
最新评论