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基础教程之自定义函数介绍
Aug 29 Python
用map函数来完成Python并行任务的简单示例
Apr 02 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
Jul 08 Python
TensorFlow搭建神经网络最佳实践
Mar 09 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
详解python的argpare和click模块小结
Mar 31 Python
python代理工具mitmproxy使用指南
Jul 04 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
python中count函数简单用法
Jan 05 Python
浅谈Python中的继承
Jun 19 Python
如何使用python包中的sched事件调度器
Apr 30 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中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
JS写的数字拼图小游戏代码[学习参考]
2008/10/29 Javascript
取选中的radio的值
2010/01/11 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
Vue中props的详解
2019/05/16 Javascript
JS实现滑动插件
2020/01/15 Javascript
python入门基础之用户输入与模块初认识
2016/11/14 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
python实现小球弹跳效果
2019/05/10 Python
numpy.random模块用法总结
2019/05/27 Python
python如何实现代码检查
2019/06/28 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
python爬取微博评论的实例讲解
2021/01/15 Python
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
如何实现一个自定义类的序列化
2012/05/22 面试题
本科毕业生求职信
2014/06/15 职场文书
丧事答谢词
2015/01/05 职场文书
教师见习总结范文
2015/06/23 职场文书
借钱欠条怎么写
2015/07/03 职场文书
教师节联欢会主持词
2015/07/04 职场文书