最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyQt5 closeEvent關(guān)閉事件退出提示框原理解析

 更新時(shí)間:2020年01月08日 11:07:29   作者:MilesMa  
這篇文章主要介紹了PyQt5 closeEvent關(guān)閉事件退出提示框原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了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)文章

最新評論

台州市| 浦城县| 绥芬河市| 合肥市| 云龙县| 漳平市| 班戈县| 大港区| 东辽县| 宁都县| 民权县| 东乡族自治县| 横峰县| 西华县| 亚东县| 乌拉特前旗| 石首市| 崇阳县| 星子县| 和林格尔县| 山东省| 河曲县| 井陉县| 达孜县| 广州市| 廉江市| 衢州市| 库尔勒市| 长子县| 石屏县| 托里县| 隆安县| 垦利县| 综艺| 南召县| 蕲春县| 巴里| 平谷区| 当雄县| 定安县| 新野县|