Qt,非模态对话框不会自行关闭

dem*_*exx 5 qt dialog pyqt

我有一个主窗口和一个非模态对话框.我想当我关闭主窗口时,非模态对话框应该自动关闭.相反,如果我打开非模态对话框,我应该手动关闭它们 - 如果我关闭主窗口,将保留非模态对话框,我需要手动关闭它.

# App and main window
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())

class Window ... :
   ...
   def func:
      non_modal_dialog = NonModalDialog()
      non_modal_dialog.show()
   ...
Run Code Online (Sandbox Code Playgroud)

当我关闭主窗口时,我应该怎么做才能自动关闭所有非模态对话框?

谢谢.

Tro*_*our 8

您是否将对话框的父窗口小部件设置为主窗口或至少是主窗口的某种后代?如果你这样做,那么当窗口出现时,对话框就会消失.我熟悉Qt但不熟悉Python,但是你的代码示例看起来并不像这样.