Python用PyQt5實現多種彈出消息框,QMessageBox控制項使用詳解

2020-12-11 python高手養成

前面內容我們介紹了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界面編程中對話框樣式匯總》。

QMessageBox常用對話框展示

下面的例子我們會詳細介紹每一個對話框實現過程。

04QMessageBox常用控制項展示

下面,我們通過一個案例來展示每一個類型的對話框實現方法:

首先,導入模塊

from PyQt5.Qt import *

後續代碼截圖如下

創建按鈕控制項
信號-槽函數及界面展示

我們來看下程序界面。

程序界面

當單擊按鈕時彈出相應的對話框。這裡就不做展示了。

界面是中文的,而按鈕是英文顯示的,這樣是不是不太好看?我們來自定義一個QMessageBox類吧!

05自定義一個彈出式窗體

不廢話,我們經常會遇到這樣一種情況,當安裝軟體時,出現了一個錯誤,安裝程序彈出對話框,讓用戶選擇,終止安裝、重試安裝、忽略錯誤安裝,這些選項選擇了之後,程序執行下一步操作。我們來簡單實現下這個界面。原始碼如下

程序安裝界面

實現效果如下所示

軟體安裝出錯界面

好了,今天的內容就到這裡了,喜歡的小夥伴點個讚唄,關注我,後續會有精彩內容持續推出哦。

轉載請註明出處,百家號:Python高手養成

相關焦點

  • Python高級進階 007 pyqt5消息盒子QMessageBox
    一、知識回顧1.使用類進行pyqt5的gui開發封裝2.使用setGeometry函數:大小、位置3.掌握類的繼承與內部調用本節知識視頻教程>以下開始文字講解:一、Pyqt5界面基本寫法目標效果點擊按鈕,出現消息選擇框,處理消息選擇框的點擊結果效果圖二
  • Python用PyQt5製作彈出式輸入框,Qt圖形界面編程之QInputDialog
    計數器QSpinBox使用詳解,Python用PyQt5製作圖形界面基礎控制項篇Python用PyQt5實現多種彈出消息框,QMessageBox控制項使用詳解Python用PyQt5設計省市縣三級聯動的下拉選框,QComboBox使用詳解
  • Python界面編程之PyQt5常見控制項應用展示,單選鈕和複選鈕使用詳解
    一大波複習資料送給大家Python用PyQt5設計漂亮界面之按鈕類控制項的使用,QPushButton詳解Python界面編程之PyQt常見控制項展示,QTextEdit文本框類使用詳解Python界面編程之PyQt常見控制項展示,QLineEdit文本框類使用詳解盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用圖形界面編程第一步,深入理解QWidget類,詳解PyQt5的坐標體系今天,我們來了解另外兩種按鈕類控制項QRadioButton和QCheckBox的使用。
  • python高級進階 002第一個pyqt5程序
    pyqt5開發程序。app.exec_()主要作用是用死循環來監聽界面的關閉按鈕等界面控制項等事件__name__在本文件運行的時候,結果就是__main__使用__name__==『__main__『來模擬python程序主入口為了使得我們能夠對qtdesigner設計後生成的代碼更加熟悉,我們今後會更多直接使用純pyqt5代碼來編寫程序,當然,在熟悉以後,我們可以直接使用qtdesigner直接快速圖形化開發界面
  • Python用PyQt5設計界面,如何正確顯示一幅圖片,QPixmap控制項詳解
    前面內容我們學習了PyQt5中一些基本控制項的使用前期回顧擁有漂亮的筆刷才能繪製多彩界面,PythonPyQt5中QPen和QBrush類Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解Python用PyQt5製作顏色對話框
  • Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解
    前面內容,我們詳細介紹了PyQt5中彈出式對話框。Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框
  • PyQt5對話框類控制項
    打開文件時使用了文件過濾器,用於顯示指定擴展名的文件,也可以設置使用QFileDialog打開文件時起始目錄和指定擴展名的文件。QInputDialog控制項是一個標準對話框,由一個文本框和兩個按鈕(OK按鈕和Cancel按鈕)組成。當用戶單擊OK或回車,在父窗口可以收集提供QInputDialog控制項輸入的信息。可以輸入數字、字符串、列表中選項。
  • Python用PyQt5創建時間日期控制項,Qt圖形界面編程之QDateTimeEdit
    前面內容我們介紹了日曆控制項的使用方法及PyQt5中常用的一些控制項。回顧精彩內容「五一」快到了,用Python中PyQt5做一個日曆,QCalendar控制項詳解Python用PyQt5設計界面,如何正確顯示一幅圖片,
  • Python用PyQt5製作顏色對話框,PyQt圖形界面編程之QColorDialog
    前幾篇內容我們介紹了PyQt5中3種常見的標準彈出對話框。Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框如何通過Qt界面設置字體屬性,Python中PyQt5的QFontDialog類詳解Python用PyQt5製作彈出式輸入框,Qt圖形界面編程之QInputDialog今天,我們來介紹另外一種彈出對話框QColorDialog控制項。
  • Python界面編程之按鈕類控制項的使用,PyQt5之QPushButton控制項詳解
    前面內容我們介紹了PyQt5常見的文本類控制項和標籤類控制項的使用。Python界面編程之PyQt常見控制項展示,QTextEdit文本框類使用詳解Python界面編程之PyQt常見控制項展示,QLineEdit文本框類使用詳解
  • Python用PyQt5製作窗體狀態欄,基本控制項QStatusBar使用方法詳解
    前面內容,我們詳細了解了PyQt5中常用的一些控制項類前情提要Python用PyQt5創建時間日期控制項,Qt圖形界面編程之QDateTimeEdit「五一」快到了,用Python中PyQt5做一個日曆,QCalendar控制項詳解Python用PyQt5
  • Python界面編程之PyQt5基礎控制項介紹,QSlider滑動條控制項使用詳解
    前幾篇內容我們了解了使用Python中PyQt5庫進行GUI程序設計時,常用的幾種控制項類。比如:標籤QLabel(參見盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用)單行文本QLineEdit(參見Python界面編程之PyQt常見控制項展示,QLineEdit文本框類使用詳解)多行文本QTextEdit(參見Python界面編程之PyQt常見控制項展示,QTextEdit文本框類使用詳解)按鈕QPushButton(參見Python用PyQt5設計漂亮界面之按鈕類控制項的使用
  • Json數據顯示到界面上,用哪個控制項?Python用PyQt5進行界面設計
    樹狀結構Python界面如何漂亮的展示樹形結構,PyQt5控制項之QTreeWidget詳解本篇內容我們不講知識點,只講這個控制項的應用。01問題的提出我們通過一個例子來梳理一下如何使用這個控制項類。經常關注我的小夥伴一定會看過前面有一篇內容,講解關於三級聯動列表欄的製作過程。
  • WebForm 控制項事件中彈出confirm對話框
    在後臺的按鈕或者其他事件中,根據相應的邏輯需要彈出一個用戶確認的對話框,供用戶來決定是否繼續執行還是終止往下的動作。多方查找,網友hanaxia2007給出的方案解決了我的問題。具體實現方式是:1,在*.aspx前臺頁面中添加一個ASP HiddenField隱藏控制項,用於存儲用戶在confirm對話框中操作返回的(true or false值)。
  • python入門教程三:PyQt圖形界面入門教程
    sudo apt-get install python-pyqt5安裝PyQtUI界面基礎學習1.顯示窗體#!11.對話框對話框是為了更好地實現人與程序的交互,主要是完成特定場景下的功能,比如刪除確認等。QMessageBox是普通的對話框#!
  • Python GUI編程之PyQt5入門到實戰
    這篇文章主要介紹了詳解Python GUI編程之PyQt5入門到實戰,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。文章目錄1. PyQt5基礎2. QtDesigner的使用3. PyQt5核心API的使用4.
  • Python使用tkinter界面編程中對話框樣式匯總
    在GUI編程中,對話框是用戶交互和檢索信息的重要控制項。今天,我們對tkinter中常用的對話框進行匯總。tkinter模塊的子模塊messagebox、filedialog、colorchooser、simpledialog中包括了一些常用的預定義好的對話框,當然也可以通過繼承Toplevel創建自定義的對話框。如果對於界面顯示沒有太嚴苛的要求的話,建議還是使用預定義的對話框,無論從功能還是容錯機制上使用預定義好的對話框都是比較有優勢的。
  • Python界面如何漂亮的展示樹形結構,PyQt5控制項之QTreeWidget詳解
    前面內容,我們介紹了關於PyQt5的一些常用高級控制項的使用,為了更好的便於大家理解,我們通過一些案例進行了講解。用戶接口用Python將電子表格Excel展示在界面中,PyQt5之QTableWidget應用Excel表格搬到Python界面上?可以實現!
  • PyQt5按鈕類控制項
    RadioButton按鈕使用示例#此示例利用Qt Design工具設計界面,邏輯與業務界面分離技術實現from PyQt5.Qt import *from ui_demo5 import Ui_Form  #調用UI界面類class Window(QMainWindow):    def __init__(self,parent=None)
  • Bootstrap 彈出框
    彈出框依賴工具提示插件,因此需要先加載工具提示插件。在您的網站中使用 Bootstrap Popover(彈出框)實例<div>    <h2>使用Bootstrap創建彈出框</h2>    <div>        <a href="#" id="example" rel="popover" data-content="It's so simple to