我正在使用 PyQt,并且我有一个 QMainWindow,它在单击信号后生成一个 QDialog 窗口。我想要的是这个 QDialog 在我关闭 QMainWindow 后消失。我无法详细了解这个问题的文档和 C++ 版本。下面是代码:
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys
class App:
def mainGui(self):
self.mainWin = QMainWindow()
self.mainWin.setGeometry(200,200,500,432)
self.mainWin.show()
mainMenu = self.mainWin.menuBar()
mainMenu.setNativeMenuBar(False)
aboutMenu = mainMenu.addMenu('A&bout')
helpButton = QAction(QIcon(),'Help',self.mainWin)
helpButton.setShortcut('F4')
helpButton.triggered.connect(self.helpPopup)
aboutMenu.addAction(helpButton)
def helpPopup(self):
self.popup = QDialog()
self.popup.setWindowTitle('Help')
self.popup.setGeometry(800,200,300,500)
self.popup.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
a = App()
a.mainGui()
sys.exit(app.exec_())
最佳答案
在 Qt 中,因此也在 PyQt 中,如果父级也死了,那么子级也将被传递为 QDialog 的父级到 self.mainWin:
self.popup = QDialog(self.mainWin)
关于python - QMainWindow关闭时如何关闭QDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48001210/