如何从自定义的QMessageBox中捕获按钮点击?

2023-11-24

如何修改下面自定义 QMessageBox 的代码才能知道用户是否单击“是”或“否”?

from PySide import QtGui, QtCore

# Create a somewhat regular QMessageBox
msgBox = QtGui.QMessageBox( QtGui.QMessageBox.Question, "My title", "My text.", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No )

# Get the layout
question_layout = msgBox.layout()

# Additional widgets to add to the QMessageBox
qlabel_workspace_project = QtGui.QLabel('Some random data window:')
qtextedit_workspace_project = QtGui.QTextEdit()
qtextedit_workspace_project.setReadOnly(True)

# Add the new widgets
question_layout.addWidget(qlabel_workspace_project,question_layout.rowCount(), 0, 1, question_layout.columnCount() )
question_layout.addWidget(qtextedit_workspace_project,question_layout.rowCount(), 0, 1, question_layout.columnCount() )

# Show widget
msgBox.show()

代替show你应该使用exec_方法,所有小部件都继承自QDialog have:

http://doc.qt.io/qt-4.8/qmessagebox.html#exec

此方法会阻塞,直到 msgbox 关闭并返回结果:

result = msgBox.exec_()
if result == QtGui.QMessageBox.Yes:
    # do yes-action
else:
    # do no-action
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从自定义的QMessageBox中捕获按钮点击? 的相关文章

随机推荐