QMessageBox

QMessageBox类中常用方法

方法  描述
information(QWdiget parent,title,text,buttons,defaultButton) 弹出消息对话框,各参数解释如下
  parent:指定的父窗口控件
  title:对话框标题
  text:对话框文本
  buttons:多个标准按钮,默认为ok按钮
  defaultButton:默认选中的标准按钮,默认选中第一个标准按钮
question(QWidget parent,title,text,buttons,defaultButton) 弹出问答对话框(各参数解释如上)
warning(QWidget parent,title,text,buttons,defaultButton) 弹出警告对话框(各参数解释如上)
critical(QWidget parent,title,text,buttons,defaultButton) 弹出严重错误对话框(各参数解释如上)
about(QWidget parent,title,text) 弹出关于对话框(各参数解释如上)
setTitle() 设置标题
setText() 设置正文消息
setIcon() 设置弹出对话框的图片

QMessageBox的标准按钮类型如下表

类型 描述
QMessage.Ok 同意操作
QMessage.Cancel 取消操作
QMessage.Yes 同意操作
QMessage.No 取消操作
QMessage.Abort 终止操作
QMessage.Retry 重试操作
QMessage.Ignore 忽略操作

5中常用的消息对话框及其显示效果

对话框类型  显示效果

消息对话框,用来告诉用户关于提示信息

QMessageBox.information(self,'标题','消息对话框正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

提问对话框,用来告诉用户关于提问消息

QMessageBox.question(self,'标题','提问框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

 

警告对话框,用来告诉用户关于不寻常的错误消息

QMessageBox.warning(self,'标题','警告框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

 

严重错误对话框,用来告诉用户关于严重的错误消息

QMessageBox.critical(self,'标题','严重错误对话框消息正文',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)

 

关于对话框

QMessageBox.about(self,'标题','关于对话框' )

 

效果如下:

完整代码如下:

 import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import * class MyWindow(QWidget):
def __init__(self,parent=None):
super(MyWindow, self).__init__(parent)
self.initUi() def initUi(self):
self.setWindowTitle('QMessageBox例子')
self.setGeometry(300,300,400,300)
self.grid = QGridLayout()
self.mybutton1=QPushButton('消息弹出消息框',self)
self.mybutton1.clicked.connect(self.information_msg)
self.grid.addWidget(self.mybutton1,1,1) self.mybutton2 = QPushButton('提问弹出消息框', self)
self.mybutton2.clicked.connect(self.question_msg)
self.grid.addWidget(self.mybutton2, 1, 2) self.mybutton3 = QPushButton('警告弹出消息框', self)
self.mybutton3.clicked.connect(self.warning_msg)
self.grid.addWidget(self.mybutton3, 1, 3) self.mybutton4 = QPushButton('严重错误弹出消息框', self)
self.mybutton4.clicked.connect(self.critical_msg)
self.grid.addWidget(self.mybutton4, 2, 1) self.mybutton5 = QPushButton('关于弹出消息框', self)
self.mybutton5.clicked.connect(self.about_msg)
self.grid.addWidget(self.mybutton5, 2, 2) self.setLayout(self.grid) def information_msg(self):
reply = QMessageBox.information(self, '标题','消息对话框正文',QMessageBox.Yes | QMessageBox.No,QMessageBox.Yes)
def question_msg(self):
reply1 = QMessageBox.question(self, "标题", "提问框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
def warning_msg(self):
reply2 = QMessageBox.warning(self, "标题", "警告框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
def critical_msg(self):
reply3 = QMessageBox.critical(self, "标题", "严重错误对话框消息正文", QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes)
def about_msg(self):
reply4 = QMessageBox.about(self, "标题", "关于对话框消息正文") if __name__ == '__main__':
app=QApplication(sys.argv)
myshow=MyWindow()
myshow.show()
sys.exit(app.exec_())

QMessageBox案例

【PyQt5-Qt Designer】QMessageBox 弹出框总结的更多相关文章

  1. QMessageBox 弹出框上的按钮设置为中文

    Qt 默认的弹出框上的按钮式英文,虽然也知道是什么意思,但终究不如中文看着顺眼. QMessageBox box(QMessageBox::Warning,"标题","弹 ...

  2. 关于Layer弹出框初探

    layer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力.目前,laye ...

  3. angularjs 弹出框 $modal

    angularjs 弹出框 $modal 标签: angularjs 2015-11-04 09:50 8664人阅读 评论(1) 收藏 举报  分类: Angularjs(3)  $modal只有一 ...

  4. 【代码笔记】iOS-自定义弹出框

    代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [s ...

  5. Android----消息弹出框

    关于Android的知识,自从工作了就没有什么时间去总结学习过的知识,我个人比较喜欢学习后总结,今天就写一下关于android中消息弹出框的几种方式的简单示例,按照自己的思路写了一段,希望对和我一样在 ...

  6. bootstrap中popover.js(弹出框)使用总结+案例

    bootstrap中popover.js(弹出框)使用总结+案例 *转载请注明出处: 作者:willingtolove: http://www.cnblogs.com/willingtolove/p/ ...

  7. div非弹出框半透明遮罩实现全屏幕遮盖css实现

    IE浏览器下设置元素css背景为透明: background-color: rgb(0, 0, 0); filter: alpha(opacity=20); 非IE浏览器下设置元素css背景为透明: ...

  8. Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法

    Visual Studio 打开解决方案后 弹出框显示 "正在打开文件...",任务管理器的devenv进程又很正常,不会显示"未响应". 而IDE的左下角有个 ...

  9. 使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码】

    项目中常常用到搜索,特别是导航类的网站.自己做关键字搜索不太现实,直接调用百度的是最好的选择.使用jquery.ajax的jsonp方法可以异域调用到百度的js并拿到返回值,当然$.getScript ...

随机推荐

  1. mysql中update+select

    mysql中不支持嵌套查询后更新操作. 但是可以使用inner join来解决自身的更新问题,参考如下例子: update hera_job a inner join( ),'"') as ...

  2. 要是VISUAL STUDIO 2015带这些功能就好了

    visual studio 2015 正式版立即就要出来了,事实上我原来满期待微软能出一套完美的移植的ANDROID和IOS应用的技术方案,这样WIN10正式版出来后,有一套比較好的移植框架,大家能够 ...

  3. 十分钟学会Charles抓包(iOS的http/https请求)

    ### 原文地址,感谢作者 : http://www.jianshu.com/p/5539599c7a25 Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Ch ...

  4. Java如何清除空格?

    在Java编程中,如何清除/删除空格? 以下示例演示如何使用Util.regex.Pattern类的matcher.replaceAll(stringname)方法来删除空格. package com ...

  5. EasyRadius 动态域名DDNS设置工具,支持WayOS三代,完美解决近段时间3322和每步不稳定问题

    以下软件只适合拥有公网IP的用户哦,要是您没有公网IP,只能和我们联系,获取VPN了 EasyRadius从1.65开始就提供DDNS,中途由于我们升级了安全性,导致DDNS更新失败 这段时间由于33 ...

  6. IntellIJ IDEA 启动 参数 配置

    系统环境: 型号名称: MacBook Pro型号标识符: MacBookPro11,4处理器名称: Intel Core i7处理器速度: 2.8 GHz处理器数目: 1核总数: 4L2 缓存(每个 ...

  7. vmware虚拟机的tomcat启动以后,主机无法访问

    处理: 关闭防火墙服务:/etc/init.d/iptables stop ..................... 在wmware中安装linux后安装好数据库,JDK及tomcat后启动服务,虚 ...

  8. H - Being a Good Boy in Spring Festival

    一年在外 父母时刻牵挂 春节回家 你能做几天好孩子吗 寒假里尝试做做下面的事情吧 陪妈妈逛一次菜场 悄悄给爸爸买个小礼物 主动地 强烈地 要求洗一次碗 某一天早起 给爸妈用心地做回早餐 如果愿意 你还 ...

  9. ffmpeg 视频转ts切片 生成m3u8视频播放列表

    近期做视频点播,要求将视频文件切片成ts文件.经搜索得到以下两个命令,可完成这个任务. 一  首先将视频文件转为视频编码h264,音频编码aac格式的mp4文件      1.可以预先使用ffprob ...

  10. .NET Core开发日志——WCF Client

    WCF作为.NET Framework3.0就被引入的用于构建面向服务的框架在众多项目中发挥着重大作用.时至今日,虽然已有更新的技术可以替代它,但对于那些既存项目或产品,使用新框架重构的代价未必能找到 ...