fre*_*rik 4 python pyqt pyside
如何修改下面的自定义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()
Run Code Online (Sandbox Code Playgroud)
而不是show你应该使用该exec_方法,所有继承自的小部件QDialog都具有:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3780 次 |
| 最近记录: |