前言
本節我們將介紹messagebox的使用方法,messagebox可用在消息提示框、警告框、詢問框、錯誤、關於等會話框。
一、基礎知識
1. messagebox簡介
messagebox是消息會話框,可以提示用戶重點消息,並獲取用戶選擇,便於控制程序在特殊情況下執行情況。
標準按鈕類型如下
二、實例
1. QT Designer設計UI
打開designer.exe,使用默認的Main Window創建,直接點擊Create按鈕即可
設計UI圖如下,並保存爲messagebox.ui
2 將messagebox.ui轉換爲ui_messagebox.py
進入messagebox.py目錄,輸入pyuic5 -o ui_messagebox.py messagebox.ui
3 編寫python程序
# 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,即可彈出上述用QT Designer設計出來的頁面。
點擊info button:
點擊warn button:
點擊critical button:
點擊question button:
點擊about button:
四、結語
如您在使用過程中有任何問題,請加QQ羣進一步交流,也可以github提Issue。
QQ交流羣:906015840 (備註:物聯網項目交流)
獲取源碼:關注公衆號,回覆pyqt5即可
一葉孤沙出品:一沙一世界,一葉一菩提