问题1:通过点击Button打开新窗口后,如何实现不关闭新窗口的情况下再点击Button时不会新建窗口,而是显示先前打开的窗口?(以前用tkinter时遇到这个问题,是使用一个boolean值来做开关,如果对象已创建,就不新建,否则新建,然后关闭窗口时在控制该boolean,该方法可行但是比较麻烦)
分析:有两种方法:
1.新建窗口时使用exec_()函数(显示一个模式对话框,并且锁住程序直到用户关闭该对话框为止,函数返回一个DialogCode结果;在对话框弹出期间,用户不可以切换同程序下的其它窗口,直到该对话框被关闭)。
但是我需要user在通过Button打开该窗口的同时,可以对父窗口进行操作,所以不使用exec_()函数
2.使用show()函数新建窗口(显示一个非模式对话框。控制权即刻返回给调用函数。弹出窗口是否模式对话框,取决于modal属性的值。)
使用show()新建的子窗口在打开时可以操作父窗口。此处,新建窗口有两种方法:
(1)在槽函数中实例化窗口,然后.show()创建窗口:
class MyMainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self