创建俩窗口,Main是主,Form是要弹出的子窗口
网上找了一堆参考案例有用MainWindow的有用Dialog的,只有我个憨憨用的Widget做子窗口
保存两个窗口为.ui文件并生成.py代码文件
加一个逻辑代码文件:
import PyQt5
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
#导入UI代码文件
from UI import Ui_MainWindow
from test_Form import Ui_TimeList_Form
#主窗口类
class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
#子窗口类
class Child(QWidget,Ui_TimeList_Form):
def __init__(self):
super(Child, self).__init__()
self.setupUi(self)
def OPEN(self):
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
mainWindow = MyWindow()
ch=Child()
mainWindow.show()
mainWindow.pushButton_2.clicked.connect(ch.OPEN)
sys.exit(app.exec_())
相比与原来的单窗口新增的语句:
其他:
发现如果使用了
.setWindowFlags(Qt.Tool)
让窗口不显示任务栏图标,关闭子窗口时会把主窗口一起关掉