PyQt5 closeEvent關(guān)閉事件退出提示框原理解析
這篇文章主要介紹了PyQt5 closeEvent關(guān)閉事件退出提示框原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
如果關(guān)閉QWidget,就會產(chǎn)生一個(gè)QCloseEvent,并且把它傳入到closeEvent函數(shù)的event參數(shù)中。改變控件的默認(rèn)行為,就是替換掉默認(rèn)的事件處理。
原生的英文提示框:

# 添加一個(gè)退出的提示事件
def closeEvent(self, event):
"""我們創(chuàng)建了一個(gè)消息框,上面有倆按鈕:Yes和No.第一個(gè)字符串顯示在消息框的標(biāo)題欄,第二個(gè)字符串顯示在對話框,
第三個(gè)參數(shù)是消息框的倆按鈕,最后一個(gè)參數(shù)是默認(rèn)按鈕,這個(gè)按鈕是默認(rèn)選中的。返回值在變量reply里。"""
reply = QMessageBox.question(self, 'Message',"Are you sure to quit?",
QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
# 判斷返回值,如果點(diǎn)擊的是Yes按鈕,我們就關(guān)閉組件和應(yīng)用,否則就忽略關(guān)閉事件
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()
修改成中文樣式:

# 添加中文的確認(rèn)退出提示框1
def closeEvent(self, event):
# 創(chuàng)建一個(gè)消息盒子(提示框)
quitMsgBox = QMessageBox()
# 設(shè)置提示框的標(biāo)題
quitMsgBox.setWindowTitle('確認(rèn)提示')
# 設(shè)置提示框的內(nèi)容
quitMsgBox.setText('你確認(rèn)退出嗎?')
# 設(shè)置按鈕標(biāo)準(zhǔn),一個(gè)yes一個(gè)no
quitMsgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
# 獲取兩個(gè)按鈕并且修改顯示文本
buttonY = quitMsgBox.button(QMessageBox.Yes)
buttonY.setText('確定')
buttonN = quitMsgBox.button(QMessageBox.No)
buttonN.setText('取消')
quitMsgBox.exec_()
# 判斷返回值,如果點(diǎn)擊的是Yes按鈕,我們就關(guān)閉組件和應(yīng)用,否則就忽略關(guān)閉事件
if quitMsgBox.clickedButton() == buttonY:
event.accept()
else:
event.ignore()
# 添加中文的退出提示框2
def closeEvent(self, event):
# 創(chuàng)建一個(gè)消息盒子(提示框)
quitMsgBox = QMessageBox()
# 設(shè)置提示框的標(biāo)題
quitMsgBox.setWindowTitle('確認(rèn)窗口')
# 設(shè)置提示框的內(nèi)容
quitMsgBox.setText('你確定退出嗎?')
# 創(chuàng)建兩個(gè)點(diǎn)擊的按鈕,修改文本顯示內(nèi)容
buttonY = QPushButton('確定')
buttonN = QPushButton('取消')
# 將兩個(gè)按鈕加到這個(gè)消息盒子中去,并指定yes和no的功能
quitMsgBox.addButton(buttonY, QMessageBox.YesRole)
quitMsgBox.addButton(buttonN, QMessageBox.NoRole)
quitMsgBox.exec_()
# 判斷返回值,如果點(diǎn)擊的是Yes按鈕,我們就關(guān)閉組件和應(yīng)用,否則就忽略關(guān)閉事件
if quitMsgBox.clickedButton() == buttonY:
event.accept()
else:
event.ignore()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
selenium2.0中常用的python函數(shù)匯總
這篇文章主要介紹了selenium2.0中常用的python函數(shù),總結(jié)分析了selenium2.0中常用的python函數(shù)的功能、原理與基本用法,需要的朋友可以參考下2019-08-08
python接口測試返回?cái)?shù)據(jù)為字典取值方式
這篇文章主要介紹了python接口測試返回?cái)?shù)據(jù)為字典取值方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
python?配置uwsgi?啟動Django框架的詳細(xì)教程
這篇文章主要介紹了python?配置uwsgi?啟動Django框架,本文給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
利用Python實(shí)現(xiàn)外觀數(shù)列求解
這篇文章主要介紹了利用Python實(shí)現(xiàn)外觀數(shù)列求解,文章利用舉例說明文章的主題內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴樂意參考一下2022-03-03
python結(jié)合opencv實(shí)現(xiàn)人臉檢測與跟蹤
在Python下用起來OpenCV很爽,代碼很簡潔,很清晰易懂。使用的是Haar特征的分類器,訓(xùn)練之后得到的數(shù)據(jù)存在一個(gè)xml中。下面我們就來詳細(xì)談?wù)劇?/div> 2015-06-06
人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析
這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)CNN卷積層及nn.Module類示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作
這篇文章主要介紹了python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python多線程threading join和守護(hù)線程setDeamon原理詳解
這篇文章主要介紹了Python多線程threading join和守護(hù)線程setDeamon原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03最新評論

