- PyQt Tutorial
- PyQt - Home
- PyQt - Introduction
- PyQt - Hello World
- PyQt - Major Classes
- PyQt - Using Qt Designer
- PyQt - Signals and Slots
- PyQt - Layout Management
- PyQt - Basic Widgets
- PyQt - QDialog Class
- PyQt - QMessageBox
- PyQt - Multiple Document Interface
- PyQt - Drag and Drop
- PyQt - Database Handling
- PyQt - Drawing API
- PyQt - BrushStyle Constants
- PyQt - QClipboard
- PyQt - QPixmap Class
- PyQt Useful Resources
- PyQt - Quick Guide
- PyQt - Useful Resources
- PyQt - Discussion
PyQt-QMessageBox
QMessageBox是一种常用的模式对话框,用于显示一些信息性消息,并可选择要求用户通过单击其上的任何一个标准按钮进行响应。每个标准按钮都有一个预定义的标题、一个角色并返回一个预定义的十六进制数字。
下表给出了与 QMessageBox 类相关的重要方法和枚举 -
| 先生。 | 方法与说明 |
|---|---|
| 1 |
设置图标() 显示与消息严重性相对应的预定义图标
|
| 2 |
设置文本() 设置要显示的主要消息的文本 |
| 3 |
设置信息文本() 显示附加信息 |
| 4 |
设置详细信息文本() 对话框显示“详细信息”按钮。单击该文本后会出现该文本 |
| 5 |
设置标题() 显示对话框的自定义标题 |
| 6 |
设置标准按钮() 要显示的标准按钮列表。每个按钮都与 QMessageBox.确定0x00000400 QMessageBox.打开0x00002000 QMessageBox.保存0x00000800 QMessageBox.取消0x00400000 QMessageBox.关闭0x00200000 QMessageBox.是0x00004000 QMessageBox.No 0x00010000 QMessageBox.中止0x00040000 QMessageBox.重试0x00080000 QMessageBox.忽略0x00100000 |
| 7 |
设置默认按钮() 将按钮设置为默认值。如果按下 Enter 键,它会发出单击信号 |
| 8 |
设置退出按钮() 如果按下退出键,则将按钮设置为单击 |
例子
在下面的示例中,单击顶层窗口上的按钮信号,连接的函数将显示消息框对话框。
msg = QMessageBox()
msg.setIcon(QMessageBox.Information)
msg.setText("This is a message box")
msg.setInformativeText("This is additional information")
msg.setWindowTitle("MessageBox demo")
msg.setDetailedText("The details are as follows:")
setStandardButton() 函数显示所需的按钮。
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
ButtonClicked() 信号连接到一个槽函数,该函数标识信号源的标题。
msg.buttonClicked.connect(msgbtn)
该示例的完整代码如下 -
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
def window():
app = QApplication(sys.argv)
w = QWidget()
b = QPushButton(w)
b.setText("Show message!")
b.move(50,50)
b.clicked.connect(showdialog)
w.setWindowTitle("PyQt Dialog demo")
w.show()
sys.exit(app.exec_())
def showdialog():
msg = QMessageBox()
msg.setIcon(QMessageBox.Information)
msg.setText("This is a message box")
msg.setInformativeText("This is additional information")
msg.setWindowTitle("MessageBox demo")
msg.setDetailedText("The details are as follows:")
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
msg.buttonClicked.connect(msgbtn)
retval = msg.exec_()
print "value of pressed message box button:", retval
def msgbtn(i):
print "Button pressed is:",i.text()
if __name__ == '__main__':
window()
上面的代码产生以下输出 -

问题
信息
警告
批判的