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脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
python检测远程udp端口是否打开的方法
Mar 14 Python
详解Python中的循环语句的用法
Apr 09 Python
Windows下搭建python开发环境详细步骤
Jul 20 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
[原创]pip和pygal的安装实例教程
Dec 07 Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
tensorflow常用函数API介绍
Apr 19 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 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跨时区(UTC时间)应用解决方案
2013/01/11 PHP
用php实现选择排序的解决方法
2013/05/04 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
javascript动态添加删除tabs标签的方法
2015/07/06 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
jQuery获取radio选中项的值实例
2016/06/18 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
vue二级路由设置方法
2018/02/09 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
python中执行shell命令的几个方法小结
2014/09/18 Python
Python中的字符串替换操作示例
2016/06/27 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
2014年基层党支部工作总结
2014/12/04 职场文书
党员承诺书格式范文
2015/04/28 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL
基于MySql验证的vsftpd虚拟用户
2021/11/07 MySQL