网站首页 > 博客文章 正文
1.QMessageBox简介
PyQt5中QComboBox控件用于显示标准对话框,通常用于显示信息、警告、错误或询问用户。这些对话框具有标题、文本和一个或多个按钮,允许用户进行交互。
2.QMessageBox案例
import sys
from PyQt5.QtWidgets import QApplication, QPushButton, QVBoxLayout, QMessageBox, QWidget
class QMessageBoxDemo(QWidget):
def __init__(self):
super().__init__()
print(self)
self.init_ui()
def init_ui(self):
self.setWindowTitle('消息对话框')
self.resize(300, 200)
v_layout = QVBoxLayout(self)
btn1 = QPushButton()
btn1.setText('关于对话框')
btn1.clicked.connect(self.show_msg_box)
btn2 = QPushButton()
btn2.setText('消息对话框')
btn2.clicked.connect(self.show_msg_box)
btn3 = QPushButton()
btn3.setText('警告对话框')
btn3.clicked.connect(self.show_msg_box)
btn4 = QPushButton()
btn4.setText('错误对话框')
btn4.clicked.connect(self.show_msg_box)
btn5 = QPushButton()
btn5.setText('提问对话框')
btn5.clicked.connect(self.show_msg_box)
v_layout.addWidget(btn1)
v_layout.addWidget(btn2)
v_layout.addWidget(btn3)
v_layout.addWidget(btn4)
v_layout.addWidget(btn5)
def show_msg_box(self):
text = self.sender().text()
print(self.sender())
print(text)
if text == '关于对话框':
QMessageBox.about(self, '关于', '这是一个关于对话框')
elif text == '消息对话框':
msg_box = QMessageBox()
msg_box.setIcon(QMessageBox.Information) # 设置消息框图标
# 图标种类
# QMessageBox.Noicon # 消息框没有任何图标
# QMessageBox.Question # 一个图标,表示该消息正在提问
# QMessageBox.Information # 一个图标,表示该消息没有任何异常
# QMessageBox.Warning # 一个图标,表示改消息是一个警告
# QMessageBox.Critical # 一个图标,表示该消息代表一个严重问题
msg_box.setWindowTitle('消息提示') # 消息框标题
msg_box.setText('这是一个消息提示框') # 消息框内容
msg_box.addButton('是', QMessageBox.YesRole) # 消息框按钮,改为中文
msg_box.addButton('否', QMessageBox.NoRole) # 消息框按钮,改为中文
ret = msg_box.exec() # 循环执行并接收按钮返回值
# 返回值0为是,1为否
if ret == 0:
print('是')
elif ret == 1:
print('否')
elif text == '警告对话框':
info = QMessageBox.warning(self, '消息提示', '这是一个警告提示框', QMessageBox.Yes | QMessageBox.No,
QMessageBox.Yes)
print(info)
elif text == '错误对话框':
info = QMessageBox.critical(self, '消息提示', '这是一个错误提示框', QMessageBox.Yes | QMessageBox.No,
QMessageBox.Yes)
print(info)
elif text == '提问对话框':
info = QMessageBox.question(self, '消息提示', '这是一个提问提示框', QMessageBox.Yes | QMessageBox.No,
QMessageBox.Yes)
print(info)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = QMessageBoxDemo()
w.show()
app.exec()
3.运行结果
4.常用消息框
方法 | 描述 |
QMessageBox.Noicon | 消息框,没有任何图标 |
QMessageBox.Question | 提问消息框 |
QMessageBox.Information | 普通消息框 |
QMessageBox.Warning | 告警消息框 |
QMessageBox.Critical | 错误对话框 |
猜你喜欢
- 2024-10-24 Qt Examples——QSlider(qt qcompleter)
- 2024-10-24 正点原子I.MX6U嵌入式Qt开发指南:第七章《Qt控件 2》
- 2024-10-24 销售订单管理,Excel表格模板演示
- 2024-10-24 抓大放小,瞅瞅 Qt 的几个基础模块
- 2024-10-24 WPF --- 如何重写WPF原生控件样式?
- 2024-10-24 Python入坑系列-pyside6桌面编程之border边框
- 2024-10-24 1.3 MyFirstWidget代码讲解及实用编程技巧分享
- 2024-10-24 C#知识|.Net控件二次封装之ComboBox下拉框
- 2024-10-24 在WPF 中想要在表格的同一列上显示多个表头
- 2024-10-24 Qt模型视图结构_代理(犀牛缩放视图后看不见模型了)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)