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 相关文章推荐
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
python中string模块各属性以及函数的用法介绍
May 30 Python
python的socket编程入门
Jan 29 Python
简单实现python数独游戏
Mar 30 Python
Python列表切片操作实例总结
Feb 19 Python
Python 根据日志级别打印不同颜色的日志的方法示例
Aug 08 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
Python request post上传文件常见要点
Nov 20 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 Python
Python装饰器详细介绍
Mar 25 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类Class的概念
2012/06/14 PHP
解析php中curl_multi的应用
2013/07/17 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
python hashlib加密实现代码
2019/10/17 Python
使用Python的networkx绘制精美网络图教程
2019/11/21 Python
python和JavaScript哪个容易上手
2020/06/23 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
港湾网络笔试题
2014/04/19 面试题
销售员求职个人的自我评价
2014/02/19 职场文书
普通党员对照检查材料
2014/09/24 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
python游戏开发之pygame实现接球小游戏
2022/04/22 Python
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android