前面内容我们介绍了PyQt5中常用控件,并针对控件给出了详细的使用方法和一些典型的例子。
回顾下精彩内容
Python用PyQt5设计省市县三级联动的下拉选框,QComboBox使用详解
Python界面编程之PyQt5基础控件介绍,QSlider滑动条控件使用详解
Python界面编程之PyQt5常见控件应用展示,单选钮和复选钮使用详解
Python用PyQt5设计漂亮界面之按钮类控件的使用,QPushButton详解
今天,我们继续来了解PyQt5中的常用控件(QMessageBox)消息对话框控件。
消息对话框
QMessageBox是弹出对话框类控件的一种。跟前面的思路一样,我们先来了解它的类继承结构,然后详细探讨QMessageBox的使用。
01父类QDialog介绍
在GUI程序设计中,我们经常会碰到这样一些标准化对话框控件,来完成相应的人机交互操作。比如选择字号大小、字体颜色、选择文件等等这样一些操作。
各种样式的消息对话框
在PyQt5中定义了一系列的标准对话框类,让调用者能够方便和快捷地通过各个类完成相应的操作。这种对话框类都是标准化的,当然,我们也可以自定义相应的内容。
我们也可以自定义自己的对话框
而QDialog类就是这类标准弹出对话框的父类。其典型子类有:QMessageBox(弹出消息对话框)、QFileDialog(文件类对话框)、QFontDialog(样式类对话框)、QInputDialog(输入对话框)等。QDialog主要掌握类的继承结构和弹出窗口模态即可。如下
对话框控件类的继承结构
02QDialog窗口模式
下面,我们通过一个案例展示QDialog窗口模式。源代码如下:
弹出对话框窗口模式案例
其它模式感兴趣的小伙伴自己实验下。
03QMessageBox弹出式对话框类简介
QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,每个标准按钮都有一个预定义的文本、角色和十六进制数(这一点很重要)。
大小、格式是定义好的
QMessageBox类用于弹出对话框,向用户展示某一种信息,它提供了许多常用的弹出形式,如提示、警告、错误、询问、关于等对话框。这些不同形式的QMessageBox对话框只是显示时的图标不同,其它功能基本一致。
方法要掌握
QMessageBox常用方法
QMessageBox类的常用方法如下
各参数解释如下:
parent:指定父窗口控件
title:对话框标题
text:对话框文本
buttons:多个标准按钮,默认OK按钮
defaultButton:默认选中的标准按钮,默认是第一个标准按钮
int:图标图片整数值
QMessageBox的标准按钮类型
定义按钮时一般都会提供标准按钮类型,主要有以下几种:
QMessageBox效果展示
其实,之前的内容,我们对于tkinter常用的弹出对话框也进行过一次总结,PyQt5提供的这些样式,跟tkinter大致相同。想了解tkinter对话框样式请查看之前的一篇博文《Python使用tkinter界面编程中对话框样式汇总》。
QMessageBox常用对话框展示
下面的例子我们会详细介绍每一个对话框实现过程。
04QMessageBox常用控件展示
下面,我们通过一个案例来展示每一个类型的对话框实现方法:
首先,导入模块
fromPyQt5.Qtimport*
后续代码截图如下
创建按钮控件
信号-槽函数及界面展示
我们来看下程序界面。
程序界面
当单击按钮时弹出相应的对话框。这里就不做展示了。
界面是中文的,而按钮是英文显示的,这样是不是不太好看?我们来自定义一个QMessageBox类吧!
05自定义一个弹出式窗体
不废话,我们经常会遇到这样一种情况,当安装软件时,出现了一个错误,安装程序弹出对话框,让用户选择,终止安装、重试安装、忽略错误安装,这些选项选择了之后,程序执行下一步操作。我们来简单实现下这个界面。源代码如下
程序安装界面
实现效果如下所示
软件安装出错界面