中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

PyQt5 closeEvent關閉事件退出提示框原理解析

發布時間:2020-10-01 02:01:17 來源:腳本之家 閱讀:552 作者:MilesMa 欄目:開發技術

這篇文章主要介紹了PyQt5 closeEvent關閉事件退出提示框原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

如果關閉QWidget,就會產生一個QCloseEvent,并且把它傳入到closeEvent函數的event參數中。改變控件的默認行為,就是替換掉默認的事件處理。

原生的英文提示框:

PyQt5 closeEvent關閉事件退出提示框原理解析

  # 添加一個退出的提示事件
  def closeEvent(self, event):
    """我們創建了一個消息框,上面有倆按鈕:Yes和No.第一個字符串顯示在消息框的標題欄,第二個字符串顯示在對話框,
          第三個參數是消息框的倆按鈕,最后一個參數是默認按鈕,這個按鈕是默認選中的。返回值在變量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()

修改成中文樣式:

PyQt5 closeEvent關閉事件退出提示框原理解析

  # 添加中文的確認退出提示框1
  def closeEvent(self, event):
    # 創建一個消息盒子(提示框)
    quitMsgBox = QMessageBox()
    # 設置提示框的標題
    quitMsgBox.setWindowTitle('確認提示')
    # 設置提示框的內容
    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):
    # 創建一個消息盒子(提示框)
    quitMsgBox = QMessageBox()
    # 設置提示框的標題
    quitMsgBox.setWindowTitle('確認窗口')
    # 設置提示框的內容
    quitMsgBox.setText('你確定退出嗎?')
    # 創建兩個點擊的按鈕,修改文本顯示內容
    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()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

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

AI

南皮县| 左云县| 嵊泗县| 万山特区| 新干县| 应城市| 京山县| 永善县| 阳信县| 西乌珠穆沁旗| 徐州市| 子长县| 天峨县| 鄂托克前旗| 辽宁省| 芜湖县| 雷州市| 偏关县| 平潭县| 施秉县| 米泉市| 广宗县| 福鼎市| 平阴县| 新田县| 丹棱县| 永兴县| 青州市| 黄石市| 宁化县| 西丰县| 密云县| 苗栗市| 罗甸县| 漯河市| 洪泽县| 乌拉特后旗| 彩票| 名山县| 连江县| 乌兰县|