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字符串的encode与decode研究心得乱码问题解决方法
Mar 23 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
Python中分支语句与循环语句实例详解
Sep 13 Python
基于python历史天气采集的分析
Feb 14 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python实现上传文件到linux指定目录的方法
Jan 03 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
安装Anaconda3及使用Jupyter的方法
Oct 27 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
python获取字符串中的email
Mar 31 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
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP中return 和 exit 、break和contiue 区别与用法
2012/04/09 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
2013/06/05 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
php去除数组中重复数据
2014/11/18 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
php实现多维数组排序的方法示例
2017/03/23 PHP
PHP7 mongoDB扩展使用的方法分享
2019/05/02 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
p5.js入门教程之键盘交互
2018/03/19 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
Python尾递归优化实现代码及原理详解
2020/10/09 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
三维科技面试题
2013/07/27 面试题
大学生学习自我评价
2014/01/13 职场文书
四年级下册教学反思
2014/02/01 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
给老婆的保证书范文
2014/04/28 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android