講解messagebox的用法「messagebox輸出變數值」

前言

本節我們將介紹messagebox的使用方法,messagebox可用在消息提示框、警告框、詢問框、錯誤、關於等會話框。

一、基礎知識

1.messagebox簡介

messagebox是消息會話框,可以提示用戶重點消息,並獲取用戶選擇,便於控制程序在特殊情況下執行情況。

PyQt5快速上手基礎篇5-messagebox用法

標準按鈕可選類型如下

PyQt5快速上手基礎篇5-messagebox用法

二、實例

1. QT Designer設計UI

打開designer.exe,使用默認的Main Window創建,直接點擊Create按鈕即可。

PyQt5快速上手基礎篇5-messagebox用法

設計UI圖如下,並保存為messagebox.ui

PyQt5快速上手基礎篇5-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:

PyQt5快速上手基礎篇5-messagebox用法

點擊warn button:

PyQt5快速上手基礎篇5-messagebox用法

點擊critical button:

PyQt5快速上手基礎篇5-messagebox用法

作者:一葉孤沙

寄語:一沙一世界,一葉一菩提

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/235160.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-12 11:51
下一篇 2024-12-12 11:51

相關推薦

發表回復

登錄後才能評論