当我为多个UI使用相同的父QWidget时,当用户关闭一个UI时,所有UI都关闭。有没有一个很好的理由和一个解决方案,以保持其他UI打开,当他们有相同的父母?
将“setQuitOnLastWindowClosed”设置为false会保持其他UI处于打开状态,但当然我想在最后一个窗口关闭时关闭QApplication,这样我就无法解决。
这是一个简单的例子。当你关闭一个消息框时,第二个消息框也会关闭,但我希望它保持打开状态。
from PySide.QtCore import *
from PySide.QtGui import *
import sys
class pCore():
def __init__(self):
self.msgParent = QWidget()
self.msg1 = QMessageBox(QMessageBox.Information, "title", "test1", parent=self.msgParent)
self.msg1.setModal(False)
self.msg1.show()
self.msg2 = QMessageBox(QMessageBox.Information, "title", "test2", parent=self.msgParent)
self.msg2.setModal(False)
self.msg2.show()
if __name__ == "__main__":
qapp = QApplication(sys.argv)
#qapp.setQuitOnLastWindowClosed(False)
pc = pCore()
sys.exit(qapp.exec_())