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中Collection的使用小技巧
Aug 18 Python
Python实现的数据结构与算法之双端队列详解
Apr 22 Python
举例详解Python中循环语句的嵌套使用
May 14 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
Sep 03 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
Django框架自定义session处理操作示例
May 27 Python
django 通过url实现简单的权限控制的例子
Aug 16 Python
python 使用建议与技巧分享(四)
Aug 18 Python
python自动化发送邮件实例讲解
Jan 04 Python
一起来学习Python的元组和列表
Mar 13 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 similar_text 字符串的相似性比较函数
2010/05/26 PHP
php中memcache 基本操作实例
2015/05/17 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
javascript css styleFloat和cssFloat
2010/03/15 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
javascript 精粹笔记
2010/05/09 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
jQuery实现右侧抽屉式在线客服功能
2017/12/25 jQuery
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
Python实现把数字转换成中文
2015/06/29 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
python实现经纬度采样的示例代码
2020/12/10 Python
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
大三毕业自我鉴定
2014/01/15 职场文书
单位未婚证明范本
2014/01/18 职场文书
中学教师培训制度
2014/01/31 职场文书
建筑节能汇报材料
2014/08/22 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
三八节活动简报
2015/07/20 职场文书
机械生产实习心得体会
2016/01/22 职场文书
nginx日志格式分析和修改
2022/04/28 Servers