溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用pyqt5實現(xiàn)彈出提示框

發(fā)布時間:2022-08-11 14:14:31 來源:億速云 閱讀:1065 作者:iii 欄目:開發(fā)技術

這篇“怎么使用pyqt5實現(xiàn)彈出提示框”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么使用pyqt5實現(xiàn)彈出提示框”文章吧。

1.軟件關閉彈框

這類的彈框一般是在整個軟件關閉的時候提醒用戶是否需要退出整個軟件

(構建成函數(shù)的方法)

    def closeEvent(self, event):        #關閉窗口觸發(fā)以下事件  
        a = QMessageBox.question(self, '退出', '你確定要退出嗎?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)      #"退出"代表的是彈出框的標題,"你確認退出.."表示彈出框的內(nèi)容
        if a == QMessageBox.Yes:  
            event.accept()        #接受關閉事件  
        else:  
            event.ignore()        #忽略關閉事件

(直接放入相關程序執(zhí)行完畢的后面的方法)

msg_box = QMessageBox(QMessageBox.Question, '退出', '你確定退出嗎?')  #退出表示彈出框標題,"你確定退出嗎?"表示彈出框的內(nèi)容
msg_box.exec_()  #執(zhí)行彈出框
 
與確定退出的事件綁定可以參考第一種方法

2.信息提示框

這個彈框一般用戶給用戶展示一些基本信息

(構建成函數(shù)的方法)

    def show_message(self):
        QMessageBox.information(self, "標題", "我很喜歡學習python",
                                QMessageBox.Yes) #最后的Yes表示彈框的按鈕顯示為Yes,默認按鈕顯示為OK,不填QMessageBox.Yes即為默認

(直接放入相關程序執(zhí)行完畢的后面的方法)

msg_box = QMessageBox(QMessageBox.Information, '標題', '我很喜歡python')
msg_box.exec_()

3.錯誤提示框

這類的彈框一般用于用戶執(zhí)行了某些錯誤操作而導致的,這類的錯誤是必須要處理的,必須要提示用戶

(構建成函數(shù)的方法)

    def show_message(self):
        QMessageBox.critical(self, "錯誤", "系統(tǒng)錯誤")

(直接放入相關程序執(zhí)行完畢的后面的方法)

msg_box = QMessageBox(QMessageBox.Critical, '錯誤', '出現(xiàn)錯誤')
msg_box.exec_()

4.警告提示框

這類的彈框一般提示用戶最好操作什么,警示用戶操作

(構建成函數(shù)的方法)

    def show_message(self):
        QMessageBox.warning(self, "警告", "如果在不學習,你會被淘汰", QMessageBox.Cancel)

(直接放入相關程序執(zhí)行完畢的后面的方法)

msg_box = QMessageBox(QMessageBox.Warning, '警告', '你再不學習就要被淘汰了')
msg_box.exec_()

5.關于彈窗

這類彈框主要是給用戶展示系統(tǒng)信息,軟件介紹,公司介紹之類的 

(構建成函數(shù)的方法)

   def show_message(self):
        QMessageBox.about(self, "關于",
                          "本文作者QQ 8594969")

(直接放入相關程序執(zhí)行完畢的后面的方法)

msg_box = QMessageBox(QMessageBox.About, '關于', '本文作者QQ 8594969')
msg_box.exec_()

不管上面的那種方法,都要導入以下依賴包

from PyQt5.QtWidgets import QMessageBox

關于彈出框的圖標問題,我查了很多資料,暫時只知道在相應的主界面設計了QICon()后,彈出框的圖標會與主界面的圖標一樣

附:Python-PyQt5錯誤提示彈框

python文件代碼:

# -*- coding: utf-8 -*-

import sys
from PyQt5 import QtWidgets

class MessageBox(QtWidgets.QWidget):#繼承自父類QtWidgets.QWidget
    def __init__(self,parent = None):#parent = None代表此QWidget屬于最上層的窗口,也就是MainWindows.
        QtWidgets.QWidget.__init__(self)#因為繼承關系,要對父類初始化
#通過super初始化父類,__init__()函數(shù)無self,若直接QtWidgets.QWidget.__init__(self),括號里是有self的
        self.setGeometry(300, 300, 1000,1000)  # setGeometry()方法完成兩個功能--設置窗口在屏幕上的位置和設置窗口本身的大小。它的前兩個參數(shù)是窗口在屏幕上的x和y坐標。后兩個參數(shù)是窗口本身的寬和高
        self.setWindowTitle(u'窗口')  # 設置窗體標題,本行可有可無。
        self.button = QtWidgets.QPushButton(u'測試', self)  # 創(chuàng)建一個按鈕顯示‘測試'兩字
        self.button.move(300,300)
        self.button.clicked.connect(self.show_message)  # 信號槽

    def show_message(self):
        QtWidgets.QMessageBox.critical(self, "錯誤", "系統(tǒng)錯誤請關機重啟")
#內(nèi)容要長,太短會導致標題顯示不全!
app=QtWidgets.QApplication(sys.argv)
window=MessageBox()
window.show()
sys.exit(app.exec_())

結果如下:

怎么使用pyqt5實現(xiàn)彈出提示框

以上就是關于“怎么使用pyqt5實現(xiàn)彈出提示框”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI