文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

关于pyqt5弹出提示框的详细介绍

2024-04-02 19:55

关注

前言

最近在用pyqt5设计软件时,想到了一些关于提示框的操作,如果软件关闭时可以弹出确定关闭的弹窗;程序执行完成时可以弹出完成的提示;出现错误提示出现错误的提示等等。在网上查阅了很多,自己总结了一下,今天分享给大家 弹窗的分类: 软件关闭提示弹框 信息提示弹框 错误提示弹框 信息警告弹框 关于弹窗

虽然有分类,但是实际操作是大同小异的(每一类都介绍两种方法)

1.软件关闭弹框

这类的弹框一般是在整个软件关闭的时候提醒用户是否需要退出整个软件

(构建成函数的方法)

    def closeEvent(self, event):        #关闭窗口触发以下事件  
        a = QMessageBox.question(self, '退出', '你确定要退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)      #"退出"代表的是弹出框的,"你确认退出.."表示弹出框的内容
        if a == QMessageBox.Yes:  
            event.accept()        #接受关闭事件  
        else:  
            event.ignore()        #忽略关闭事件

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Question, '退出', '你确定退出吗?')  #退出表示弹出框,"你确定退出吗?"表示弹出框的内容
msg_box.exec_()  #执行弹出框
 
与确定退出的事件绑定可以参考第一种方法

2.信息提示框

这个弹框一般用户给用户展示一些基本信息

(构建成函数的方法)

    def show_message(self):
        QMessageBox.information(self, "", "我很喜欢学习python",
                                QMessageBox.Yes) #最后的Yes表示弹框的按钮显示为Yes,默认按钮显示为OK,不填QMessageBox.Yes即为默认

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Information, '', '我很喜欢python')
msg_box.exec_()

3.错误提示框

这类的弹框一般用于用户执行了某些错误操作而导致的,这类的错误是必须要处理的,必须要提示用户

(构建成函数的方法)

    def show_message(self):
        QMessageBox.critical(self, "错误", "系统错误")

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Critical, '错误', '出现错误')
msg_box.exec_()

4.警告提示框

这类的弹框一般提示用户最好操作什么,警示用户操作

(构建成函数的方法)

    def show_message(self):
        QMessageBox.warning(self, "警告", "如果在不学习,你会被淘汰", QMessageBox.Cancel)

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.Warning, '警告', '你再不学习就要被淘汰了')
msg_box.exec_()

5.关于弹窗

这类弹框主要是给用户展示系统信息,软件介绍,公司介绍之类的 

(构建成函数的方法)

   def show_message(self):
        QMessageBox.about(self, "关于",
                          "本文作者QQ 8594969")

(直接放入相关程序执行完毕的后面的方法)

msg_box = QMessageBox(QMessageBox.About, '关于', '本文作者QQ 8594969')
msg_box.exec_()

不管上面的那种方法,都要导入以下依赖包

from PyQt5.QtWidgets import QMessageBox

关于弹出框的图标问题,我查了很多资料,暂时只知道在相应的主界面设计了QICon()后,弹出框的图标会与主界面的图标一样

附:Python-PyQt5错误提示弹框

python文件代码:

# -*- coding: utf-8 -*-

import sys
from PyQt5 import QtWidgets

class MessageBox(QtWidgets.QWidget):#继承自父类QtWidgets.QWidget
    def __init__(self,parent = None):#parent = None代表此QWidget属于最上层的窗口,也就是MainWindows.
        QtWidgets.QWidget.__init__(self)#因为继承关系,要对父类初始化
#通过super初始化父类,__init__()函数无self,若直接QtWidgets.QWidget.__init__(self),括号里是有self的
        self.setGeometry(300, 300, 1000,1000)  # setGeometry()方法完成两个功能--设置窗口在屏幕上的位置和设置窗口本身的大小。它的前两个参数是窗口在屏幕上的x和y坐标。后两个参数是窗口本身的宽和高
        self.setWindowTitle(u'窗口')  # 设置窗体,本行可有可无。
        self.button = QtWidgets.QPushButton(u'测试', self)  # 创建一个按钮显示‘测试'两字
        self.button.move(300,300)
        self.button.clicked.connect(self.show_message)  # 信号槽

    def show_message(self):
        QtWidgets.QMessageBox.critical(self, "错误", "系统错误请关机重启")
#内容要长,太短会导致显示不全!
app=QtWidgets.QApplication(sys.argv)
window=MessageBox()
window.show()
sys.exit(app.exec_())

结果如下:

总结

到此这篇关于pyqt5弹出提示框的文章就介绍到这了,更多相关pyqt5弹出提示框内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯