Python 如果一个ui关闭,则多个ui的pyside父级将被销毁

Python 如果一个ui关闭,则多个ui的pyside父级将被销毁,python,qt,pyside,qmessagebox,Python,Qt,Pyside,Qmessagebox,当我对多个UI使用相同的父QWidget时,当用户关闭一个UI时,所有UI都会关闭。当其他UI具有相同的父UI时,是否有一个很好的理由和一个保持它们打开的解决方案 将“setQuitOnLastWindowClosed”设置为false会使其他UI保持打开状态,但我当然希望在最后一个窗口关闭时关闭QApplication,这样我就没有解决方案了 下面是一个简单的例子。当您关闭一个messagebox时,第二个messagebox也会关闭,但我希望它保持打开状态 from PySide.QtCor

当我对多个UI使用相同的父QWidget时,当用户关闭一个UI时,所有UI都会关闭。当其他UI具有相同的父UI时,是否有一个很好的理由和一个保持它们打开的解决方案

将“setQuitOnLastWindowClosed”设置为false会使其他UI保持打开状态,但我当然希望在最后一个窗口关闭时关闭QApplication,这样我就没有解决方案了

下面是一个简单的例子。当您关闭一个messagebox时,第二个messagebox也会关闭,但我希望它保持打开状态

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

这可能是对qMessageBox的滥用。你真的需要它们吗?为什么不展示msgParent QWidget呢?这可能是对QMessageBox的滥用。你真的需要它们吗?为什么不显示msgParent QWidget?