PyQt弹出式对话框的常用方法及标准按钮类型


Posted in Python onFebruary 27, 2019

PyQt之弹出式对话框(QMessageBox)的常用方法及标准按钮类型

一、控件说明

QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,且每个标准按钮都有一个预定义的文本、角色和十六进制数。
QNessageBox类提供了如:提示、警告、错误、问询、关于等对话框(这些不同类型的对话框只是显示的图标不同其他功能均一致)

二、QMessageBox类中的常用方法

infomation(QWidget parent,title text,buttons,defaultButton):

弹出消息对话框,对应参数如下:

parent:指定父窗口
title:对话框标题
text:对话框文本
buttons:多个标准按钮,默认为OK按钮
defaultButton:默认选中的标准按钮,默认为对话框中第一个按钮

PyQt弹出式对话框的常用方法及标准按钮类型

question(QWidget parent,title text,buttons,defaultButton):

弹出问答对话框(参数同上)

PyQt弹出式对话框的常用方法及标准按钮类型

warning(QWidget parent,title text,buttons,defaultButton)::

弹出警告对话框(参数同上)

PyQt弹出式对话框的常用方法及标准按钮类型

critical(QWidget parent,title text,buttons,defaultButton):

弹出严重错误对话框(参数同上)

PyQt弹出式对话框的常用方法及标准按钮类型

about(QWidget parent,title,text)

弹出关于对话框(参数同上)

PyQt弹出式对话框的常用方法及标准按钮类型

setTitle():

设置标题

setText():

设置正文消息

setIcon():

设置弹出对话框的图片

具体代码可参考下方例子。

三、QMessageBox的标准按钮类型

QMessage.OK
确认操作
QMessage.Cancel
取消操作
QMessage.Yes
确认操作
QMessage.No
取消操作
QMessage.Abort
终止操作
QMessage.Retry
重试操作
QMessage.Igonre
忽略操作

四、例子

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MyWindow(QWidget):
 def __init__(self,parent=None):
 super(MyWindow,self).__init__(parent)
 self.setWindowTitle("弹出式对话框例子")
 self.resize(400,200)
 self.btn1=QPushButton(self)
 self.btn1.setText("消息框")
 self.btn1.clicked.connect(self.msg1)
 layout=QVBoxLayout()

 self.btn2=QPushButton(self)
 self.btn2.setText("问答对话框")
 self.btn2.clicked.connect(self.msg2)

 self.btn3=QPushButton()
 self.btn3.setText("警告对话框")
 self.btn3.clicked.connect(self.msg3)

 self.btn4=QPushButton()
 self.btn4.setText("严重错误对话框")
 self.btn4.clicked.connect(self.msg4)

 self.btn5=QPushButton()
 self.btn5.setText("关于对话框")
 self.btn5.clicked.connect(self.msg5)

 layout.addWidget(self.btn1)
 layout.addWidget(self.btn2)
 layout.addWidget(self.btn3)
 layout.addWidget(self.btn4)
 layout.addWidget(self.btn5)

 self.setLayout(layout)

 
 def msg1(self):
 #使用infomation信息框
 QMessageBox.information(self,"标题","消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
 def msg2(self):
  QMessageBox.question(self,"标题","问答消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
 def msg3(self):
 QMessageBox.warning(self,"标题","警告消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
 def msg4(self):
 QMessageBox.critical(self,"标题","严重错误消息正文",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
 def msg5(self):
 QMessageBox.about(self,"标题","关于消息正文")

if __name__=="__main__":
 app=QApplication(sys.argv)
 win=MyWindow()
 win.show()
 sys.exit(app.exec_())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python用字典统计单词或汉字词个数示例
Apr 22 Python
Python通过DOM和SAX方式解析XML的应用实例分享
Nov 16 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
Mar 19 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
Numpy数组的保存与读取方法
Apr 04 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
python:print格式化输出到文件的实例
May 14 Python
Python实现注册、登录小程序功能
Sep 21 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
Oct 11 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
Python+appium框架原生代码实现App自动化测试详解
Mar 06 Python
学习python的前途 python挣钱
Feb 27 #Python
scrapy-redis的安装部署步骤讲解
Feb 27 #Python
python三引号输出方法
Feb 27 #Python
浅析python的Lambda表达式
Feb 27 #Python
PySide和PyQt加载ui文件的两种方法
Feb 27 #Python
Python利用字典破解WIFI密码的方法
Feb 27 #Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 #Python
You might like
PHP设计聊天室步步通
2006/10/09 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
2015/07/01 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
Using the TextRange Object
2006/10/14 Javascript
jQuery 性能优化指南(2)
2009/05/21 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
Python实现全局变量的两个解决方法
2014/07/03 Python
pycharm安装和首次使用教程
2018/08/27 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
搞笑创意广告语
2014/03/17 职场文书
合作经营协议书
2014/04/17 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
客户答谢会致辞
2015/07/30 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
js中Object.create实例用法详解
2021/10/05 Javascript
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript