欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

messagebox输出变量值(讲解messagebox的用法)

程序员文章站 2024-03-27 14:57:28
前言本节我们将介绍messagebox的使用方法,messagebox可用在消息提示框、警告框、询问框、错误、关于等会话框。一、基础知识1.messagebox简介messagebox是消息会话框,可...

前言

本节我们将介绍messagebox的使用方法,messagebox可用在消息提示框、警告框、询问框、错误、关于等会话框。

一、基础知识

1.messagebox简介

messagebox是消息会话框,可以提示用户重点消息,并获取用户选择,便于控制程序在特殊情况下执行情况。

messagebox输出变量值(讲解messagebox的用法)

标准按钮可选类型如下

messagebox输出变量值(讲解messagebox的用法)

二、实例

1. qt designer设计ui

打开designer.exe,使用默认的main window创建,直接点击create按钮即可。

messagebox输出变量值(讲解messagebox的用法)

设计ui图如下,并保存为messagebox.ui

messagebox输出变量值(讲解messagebox的用法)

2.将messagebox.ui转换为ui_messagebox.py

进入messagebox.py文件根目录,输入如下指令:

pyuic5 -o ui_messagebox.py messagebox.ui

3.程序分析

程序实现的功能是在按钮点击的时候,同时弹框在ui屏上


# encoding=utf-8
import sys
import pyqt5.qtwidgets as qw
import ui_msgbox
class myform(qw.qwidget, ui_msgbox.ui_form):
    def __init__(self):
        super().__init__()
        self.setupui(self)
        self.btn_info.clicked.connect(self.btn_info_cb)
        self.btn_warn.clicked.connect(self.btn_warn_cb)
        self.btn_critical.clicked.connect(self.btn_critical_cb)
        self.btn_question.clicked.connect(self.btn_question_cb)
        self.btn_about.clicked.connect(self.btn_about_cb)
    def btn_info_cb(self):
        print("ready to show messagebox.")
        res = qw.qmessagebox.information(self, "提示", "我是info类型的messagebox!", qw.qmessagebox.yes | qw.qmessagebox.no)
        if (qw.qmessagebox.yes == res):
            print("[info] you clicked yes button!")
        elif (qw.qmessagebox.no == res):
            print("[info] you clicked no button!")
    def btn_warn_cb(self):
        res = qw.qmessagebox.warning(self, "警告", "我是warn类型的messagebox!", qw.qmessagebox.yes | qw.qmessagebox.no)
        if (qw.qmessagebox.yes == res):
            print("[warn] you clicked yes button!")
        elif (qw.qmessagebox.no == res):
            print("[warn] you clicked no button!")
    def btn_critical_cb(self):
        res = qw.qmessagebox.critical(self, "错误", "我是critical类型的messagebox!", qw.qmessagebox.abort | qw.qmessagebox.cancel)
        if (qw.qmessagebox.abort == res):
            print("[critical] you clicked abort button!")
        elif (qw.qmessagebox.cancel == res):
            print("[critical] you clicked cancel button!")
    def btn_question_cb(self):
        res = qw.qmessagebox.question(self, "询问", "我是critical类型的messagebox", qw.qmessagebox.retry | qw.qmessagebox.ok)
        if (qw.qmessagebox.retry == res):
            print("[question] you clicked retry button!")
        elif (qw.qmessagebox.ok == res):
            print("[question] you clicked ok button!")
    def btn_about_cb(self):
        qw.qmessagebox.about(self, "关于", "我是critical类型的messagebox!")
if __name__ == '__main__':
    app = qw.qapplication(sys.argv)
    w = myform()
    w.show()
    sys.exit(app.exec_())

首先设置为上一步用qt designer设计的按钮,添加对应的messagebox,并获取用户点其情况,通过控制台log显示。

三、运行

进入文件目录,输入python3 run.py,即可弹出上述用qtdesigner设计出来的页面。

点击info button:

messagebox输出变量值(讲解messagebox的用法)

点击warn button:

messagebox输出变量值(讲解messagebox的用法)

点击critical button:

messagebox输出变量值(讲解messagebox的用法)

作者:一叶孤沙

寄语:一沙一世界,一叶一菩提