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 相关文章推荐
CentOS安装pillow报错的解决方法
Jan 27 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
Python编程实现正则删除命令功能
Aug 30 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
Dec 14 Python
python+opencv实现动态物体识别
Jan 09 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
python实现二维插值的三维显示
Dec 17 Python
python实现名片管理系统项目
Apr 26 Python
浅谈Python type的使用
Nov 19 Python
python3 pathlib库Path类方法总结
Dec 26 Python
python with语句的原理与用法详解
Mar 30 Python
Matlab求解数组中的最大值及它所在的具体位置
Apr 16 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
天津市收音机工业发展史
2021/03/04 无线电
phpstorm编辑器乱码问题解决
2014/12/01 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
php+js实现点赞功能的示例详解
2020/08/07 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
window.location.hash知识汇总
2015/11/09 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Django实现自定义404,500页面教程
2017/03/26 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
python实现tail -f 功能
2020/01/17 Python
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
合作经营协议书
2014/04/17 职场文书
分家协议书
2014/04/21 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
保护黄河倡议书
2014/05/16 职场文书
房展策划方案
2014/06/07 职场文书
邓小平理论心得体会
2014/09/09 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
公司回复函格式
2015/07/14 职场文书
2016新年问候语大全
2015/11/11 职场文书