Я пытаюсь добавить QMessageBox в QMdiArea.В настоящее время он работает, как и ожидалось, за исключением того, что в главном окне, содержащем QMdiArea, кнопка X отключается, как только всплывает QMessageBox.Также кнопка X на QMessageBox не работает, но кнопка минимизации работает.
Как мне правильно это сделать?
msgbox = QMessageBox()
msgbox.setWindowModality(QtCore.Qt.NonModal)
msgbox.setWindowTitle('Results')
msgbox.setText('Test')
okaybutton = msgbox.addButton('Close', QtWidgets.QMessageBox.YesRole)
okaybutton.clicked.disconnect()
okaybutton.clicked.connect(self.closesubwindow)
graphbutton = msgbox.addButton('View Graphs', QtWidgets.QMessageBox.YesRole)
graphbutton.clicked.disconnect()
graphbutton.clicked.connect(self.viewgraph_calculate)
self.subwindow = QtWidgets.QMdiSubWindow()
self.subwindow.setWidget(msgbox)
self.subwindow.setAttribute(QtCore.Qt.WA_DeleteOnClose, True);
self.subwindow.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowMinimizeButtonHint)
Data.subwindowarea[-1].addSubWindow(self.subwindow) ## used a list to access the mdiarea in multiple modules
Data.subwindow.append(self.subwindow)
self.subwindow.show()
def closesubwindow(self):
try:
newcase = 'Calculate'
Data.subwindowarea[-1].removeSubWindow(subwindow[-1])
except:
tracebackError()
def viewgraph_calculate(self):
try:
print('Graph')
except:
tracebackError()