【python】pyside2打开子窗口

1.创建子窗口

打开QTdesigner,新建子窗口
在这里插入图片描述
添加按钮修改名称,另存为childWindow.ui
在这里插入图片描述
创建子窗口程序childWindow.py

from PySide2.QtWidgets import *
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import *
from PySide2.QtGui import *
import os
path = os.path.realpath(os.curdir)#获取当前目录的绝对路径
class ChildWindow(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = QUiLoader().load(path+'/ui/childWindow.ui')
        self.ui.setWindowTitle('子窗口')
        self.ui.setWindowIcon(QIcon(path+'/logo.ico'))
        self.ui.finish.clicked.connect(self.return_main)#绑定返回主界面按钮
    def return_main(self):
        self.ui.close()

2.在主窗口中调用子窗口

新建主程序界面
在这里插入图片描述
添加子窗口按钮
在这里插入图片描述
添加主窗口程序main.py

from PySide2.QtCore import *
from PySide2.QtGui import QIcon
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import QMainWindow,QApplication
import childWindow #导入子窗口程序
import os,sys
path = os.path.realpath(os.curdir)#获取当前目录的绝对路径
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.ui = QUiLoader().load(path+'/ui/main.ui')
        self.ui.setWindowTitle('主窗口')
        #self.ui.setWindowIcon(QIcon(path+'/logo.ico'))
        self.ui.openChild.clicked.connect(self.openChild)
        self.childwindow = childWindow.ChildWindow()
    def openChild(self):
        self.childwindow.ui.exec()
        
QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
app = QApplication(sys.argv)
main = MainWindow()
main.ui.show()
sys.exit(app.exec_())
    	

3.最终效果

源码:https://download.csdn.net/download/qq_43094563/76442057
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值