PyQt5 closeEvent關閉事件退出提示框原理解析
這篇文章主要介紹了PyQt5 closeEvent關閉事件退出提示框原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
如果關閉QWidget,就會產(chǎn)生一個QCloseEvent,并且把它傳入到closeEvent函數(shù)的event參數(shù)中。改變控件的默認行為,就是替換掉默認的事件處理。
原生的英文提示框:
# 添加一個退出的提示事件 def closeEvent(self, event): """我們創(chuàng)建了一個消息框,上面有倆按鈕:Yes和No.第一個字符串顯示在消息框的標題欄,第二個字符串顯示在對話框, 第三個參數(shù)是消息框的倆按鈕,最后一個參數(shù)是默認按鈕,這個按鈕是默認選中的。返回值在變量reply里。""" reply = QMessageBox.question(self, 'Message',"Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) # 判斷返回值,如果點擊的是Yes按鈕,我們就關閉組件和應用,否則就忽略關閉事件 if reply == QMessageBox.Yes: event.accept() else: event.ignore()
修改成中文樣式:
# 添加中文的確認退出提示框1 def closeEvent(self, event): # 創(chuàng)建一個消息盒子(提示框) quitMsgBox = QMessageBox() # 設置提示框的標題 quitMsgBox.setWindowTitle('確認提示') # 設置提示框的內(nèi)容 quitMsgBox.setText('你確認退出嗎?') # 設置按鈕標準,一個yes一個no quitMsgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No) # 獲取兩個按鈕并且修改顯示文本 buttonY = quitMsgBox.button(QMessageBox.Yes) buttonY.setText('確定') buttonN = quitMsgBox.button(QMessageBox.No) buttonN.setText('取消') quitMsgBox.exec_() # 判斷返回值,如果點擊的是Yes按鈕,我們就關閉組件和應用,否則就忽略關閉事件 if quitMsgBox.clickedButton() == buttonY: event.accept() else: event.ignore()
# 添加中文的退出提示框2 def closeEvent(self, event): # 創(chuàng)建一個消息盒子(提示框) quitMsgBox = QMessageBox() # 設置提示框的標題 quitMsgBox.setWindowTitle('確認窗口') # 設置提示框的內(nèi)容 quitMsgBox.setText('你確定退出嗎?') # 創(chuàng)建兩個點擊的按鈕,修改文本顯示內(nèi)容 buttonY = QPushButton('確定') buttonN = QPushButton('取消') # 將兩個按鈕加到這個消息盒子中去,并指定yes和no的功能 quitMsgBox.addButton(buttonY, QMessageBox.YesRole) quitMsgBox.addButton(buttonN, QMessageBox.NoRole) quitMsgBox.exec_() # 判斷返回值,如果點擊的是Yes按鈕,我們就關閉組件和應用,否則就忽略關閉事件 if quitMsgBox.clickedButton() == buttonY: event.accept() else: event.ignore()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例
今天小編就為大家分享一篇PyTorch中Tensor的數(shù)據(jù)統(tǒng)計示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02selenium2.0中常用的python函數(shù)匯總
這篇文章主要介紹了selenium2.0中常用的python函數(shù),總結(jié)分析了selenium2.0中常用的python函數(shù)的功能、原理與基本用法,需要的朋友可以參考下2019-08-08Python圖像處理之圖像的讀取、顯示與保存操作【測試可用】
這篇文章主要介紹了Python圖像處理之圖像的讀取、顯示與保存操作,結(jié)合實例形式分析了Python使用PIL模塊、scipy和matplotlib模塊進行圖像讀寫、顯示等相關操作技巧,需要的朋友可以參考下2019-01-01使用Django實現(xiàn)把兩個模型類的數(shù)據(jù)聚合在一起
這篇文章主要介紹了使用Django實現(xiàn)把兩個模型類的數(shù)據(jù)聚合在一起,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03