如何在PyQt4中向QMessageBox添加自定义按钮

Sud*_*yil 10 python pyqt

我正在编写一个需要QMessageBox中的自定义按钮的应用程序.我设法在QT设计器中创建了一个示例,如下所示.

在此输入图像描述

我想在QMessageBox中这样做.

我使用的是python 2.6.4和PyQt4.拜托,任何人都可以帮忙.

MGP*_*MGP 23

以下是从头开始构建自定义消息框的示例.

import sys
from PyQt4 import QtCore, QtGui


class Example(QtGui.QDialog):
    def __init__(self, parent=None):
        super(Example, self).__init__(parent)

        msgBox = QtGui.QMessageBox()
        msgBox.setText('What to do?')
        msgBox.addButton(QtGui.QPushButton('Accept'), QtGui.QMessageBox.YesRole)
        msgBox.addButton(QtGui.QPushButton('Reject'), QtGui.QMessageBox.NoRole)
        msgBox.addButton(QtGui.QPushButton('Cancel'), QtGui.QMessageBox.RejectRole)
        ret = msgBox.exec_()


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

  • 谢谢哥们,这正是我想要的。 (2认同)
  • ...并获得点击的按钮,检查`ret`的值。 (2认同)