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. hdoj:2035

    #include <iostream> using namespace std; int main() { long a, b; && b != ) { long resu ...

  2. Cisco DHCP Snooping + IPSG 功能实现

    什么是DHCP? DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,前身是BOOTP协议, 使用UDP协议工作,常用的2个端口 ...

  3. SpringMVC注解@RequestParam与RequestMapping全面解析

    1.@RequestParam用法: SpringMVC后台控制层获取参数的方式主要有两种, 一种是request.getParameter("name"), 另外一种是用注解@R ...

  4. android 网络图片双缓存

    本文转自:http://blog.csdn.net/a79412906/article/details/10180583 Android每次加载图片很浪费时间.所以设计了一个图片缓存技术来解决每次an ...

  5. Spring.NET依赖注入框架学习--简介

    Spring.NET依赖注入框架学习--Spring.NET简介 概述 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入. ...

  6. nginx的80端口跳转到443

    然后在80端口设置http跳转到https 在80端口location中加入rewrite ^(.*)$ https://$host$1 permanent; 如图,然后输入命令service ngi ...

  7. CentOS6.5安装JDK8

    上传JDK源码包,我用的jdk-8u144-linux-x64.tar.gz.解压它 tar -zxvf jdk-8u144-linux-x64.tar.gz 更改环境变量 vim /etc/prof ...

  8. SVM 核方法

    在 SVM 中引入核方法便可使得 SVM 变为非线性分类器,给定非线性可分数据集 $\left \{ (x_i,y_i)\right\}_{i=1}^N$,如下图所示,此时找不到一个分类平面来将数据分 ...

  9. Flask web开发之路一

    之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...

  10. 网络通信协议五之IP协议详解

    网络层协议 >>IP协议 >>ARP(地址解析协议) >>RARP(反向地址解析协议) >>ICMP(互联网控制消息协议) IP协议功能 >> ...