前面內容我們介紹了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界面編程中對話框樣式匯總》。
下面的例子我們會詳細介紹每一個對話框實現過程。
04QMessageBox常用控制項展示
下面,我們通過一個案例來展示每一個類型的對話框實現方法:
首先,導入模塊
from PyQt5.Qt import *
後續代碼截圖如下
我們來看下程序界面。
當單擊按鈕時彈出相應的對話框。這裡就不做展示了。
界面是中文的,而按鈕是英文顯示的,這樣是不是不太好看?我們來自定義一個QMessageBox類吧!
05自定義一個彈出式窗體
不廢話,我們經常會遇到這樣一種情況,當安裝軟體時,出現了一個錯誤,安裝程序彈出對話框,讓用戶選擇,終止安裝、重試安裝、忽略錯誤安裝,這些選項選擇了之後,程序執行下一步操作。我們來簡單實現下這個界面。原始碼如下
實現效果如下所示
好了,今天的內容就到這裡了,喜歡的小夥伴點個讚唄,關注我,後續會有精彩內容持續推出哦。
轉載請註明出處,百家號:Python高手養成