Я хочу добавить пользовательскую кнопку в QMessagebox, которая открывает окно matplotlib, наряду с кнопкой Ok, которую пользователь может щелкнуть, когда он хочет закрыть ее
В настоящее время у меня это работает, но я хочу, чтобы две кнопки делали разные вещи, а не открывали окно.
Я знаю, что могу просто создать диалоговое окно с желаемыми результатами, но я хотел знать, как это сделать с помощью QMessageBox.
import sys
from PyQt5 import QtCore, QtWidgets
def main():
app = QtWidgets.QApplication(sys.argv)
msgbox = QtWidgets.QMessageBox()
msgbox.setWindowTitle("Information")
msgbox.setText('Test')
msgbox.addButton(QtWidgets.QMessageBox.Ok)
msgbox.addButton('View Graphs', QtWidgets.QMessageBox.YesRole)
bttn = msgbox.exec_()
if bttn:
print("Ok")
else:
print("View Graphs")
sys.exit(app.exec_())
if __name__ == "__main__":
main()
Желаемый результат:
Кнопка Ok - закрывает QMessageBox
Кнопка Просмотр графика - открывает окно matplotlib и сохраняет QMessageBox открытым, пока пользователь не нажмет Ok