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实现的文件同步服务器实例
Jun 02 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
python 用下标截取字符串的实例
Dec 25 Python
Django框架封装外部函数示例
May 28 Python
简单了解python中对象的取反运算符
Jul 01 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
Sep 20 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
python进度条显示-tqmd模块的实现示例
Aug 23 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实现MySQL更新记录的代码
2008/06/07 PHP
CI框架中$this->load->library()用法分析
2016/05/18 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
js中有关IE版本检测
2012/01/04 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
Jquery跨域获得Json的简单实例
2016/05/18 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
javascript 开发之网页兼容各种浏览器
2017/09/28 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
巴西购物网站:Onofre Agora
2020/06/08 全球购物
实验室的标语
2014/06/20 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
党支部承诺书
2015/01/20 职场文书
幼师辞职信范文
2015/02/27 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python