1
私はPyQtを使用していますが、クリック信号の後にQDialogウィンドウを生成するQMainWindowがあります。 QMainWindowを閉じると、このQDialogが単に消えるだけです。私はこの問題のドキュメントとC++バージョンの多くを作ることができません。 QtのでQMainWindowが閉じられたときにQDialogを閉じる方法
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_())
おかげで以下のコードです。親子オブジェクトは私がここで探してきた概念です。また、 'mainGui()'メソッドの内部に 'app = QApplication(sys.argv)'と 'sys.exit(app.exec _())'メソッドを配置する必要がありました。それ以外の場合は、親ウィンドウを閉じると子ウィンドウが開いたままになり、応答しなくなります。なぜそれが私にも教えてくれますか? – rej
私はそれが奇妙だと分かりました、私はちょうどその変更を加え、それは正常に動作します、多分あなたはそのバグを持っている古いバージョンがあります。 – eyllanesc
私はPython3.5とPyQt4を使用しています。とにかくもう一度ありがとう。 – rej