【发布时间】:2019-07-02 15:54:10
【问题描述】:
我想向 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()
想要的结果:
确定按钮 - 关闭 QMessageBox
查看图形按钮 - 打开 matplotlib 窗口并保持 QMessageBox 处于打开状态,直到用户单击确定
【问题讨论】:
标签: python python-3.x pyqt pyqt5 qmessagebox