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中的文件I/O操作
May 24 Python
基于Django contrib Comments 评论模块(详解)
Dec 08 Python
python实现决策树
Dec 21 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Redis使用watch完成秒杀抢购功能的代码
May 07 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
python3使用QQ邮箱发送邮件
May 20 Python
Django框架实现的分页demo示例
May 25 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
Flask处理Web表单的实现方法
Jan 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
php将数组存储为文本文件方法汇总
2015/10/28 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
Python中max函数用法实例分析
2015/07/17 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
骆驼官方商城:CAMEL
2016/11/22 全球购物
Paul Smith英国官网:英国国宝级时装品牌
2019/03/21 全球购物
化学系大学生自荐信范文
2014/03/01 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书