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