預設情況下,如程式設計客棧果我們點選標題欄上的 x 按鈕,qwidget 關閉。有時候,我們需要改變這個預設行為。例如,如果我們有乙個檔案,要在編輯器中開啟,我們可以先顯示乙個訊息框,確認開啟與否的操作。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""pyqt5 教程
當我們點選應用程式視窗的關閉按鈕,該程式顯示乙個確認資訊框。
作者:我的世界你曾經來過
部落格:最後編輯:2023年7月29日
"""import sys
from pyqt5.qtwidgets import qapplication, qwidget, qmessageb程式設計客棧ox
class example(qwidget):
def __init__(self):
super().__init__()
self.initui()
def initui(self):
self.setgeometry(300, 300, 300, 220)
self.setwindowtitle('訊息盒子')
self.show()
def closeevent(self, event):
reply = qmessagebox.question(self, '資訊', '確認退出嗎?',
qmessagebox.yes | qmessagebox.no, qmessagebox.no)
if reply == qmessagebox.yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = qapplication(sys.ar**)kwgkjrmaha
ex = example()
sys.exit(app.exec_())
如果我們關閉 qwidget控制項,將產生 qcloseevent 事件。修改控制項特性我們需要重新實現 closeevent() 事件處理程式。
reply = qmessagebox.question(self, '資訊', '確認退出嗎?',
qmessagebox.yes | qmessagebox.no, qmessagebox.no)
我們顯示乙個訊息框,它有兩個程式設計客棧按鈕:yes和no。第乙個字串出現在標題欄。第二個字串是對話方塊中顯示的訊息文字。第三個引數指定彈出的對話方塊中的按鈕組合。最後乙個引數是預設按鈕,它是具有初始鍵盤焦點的按鈕。返回值被儲存在reply 變數中。
if reply == qmessagebox.yes:
event.accept()
else:
event.ignore()
在這裡我們使用 if 測試返回值。如果我們點選 yes 按鈕,我們接受了按鈕控制項的關閉並執行應用程式的終止事件。否則,我們忽略關閉事件。
程式執行後點選右上角的 x 彈出確認退出訊息盒子
本文標題: pyqt5每天必學之彈出訊息框
本文位址:
PyQt5每天必學之組合框
qcombobox 是乙個允許使用者從列表選項中選擇一項的控制項。usr bin python3 coding utf 8 pyqt5 教程 這個例子展示了如何使用qcombobox部件。作者 我的世界你曾經來過 部落格 最後編輯 2016年8月4日 import sys from pyqt5.qt...
python中組合框 PyQt5每天必學之組合框
這篇文章主要為大家詳細介紹了pyqt5每天必學之組合框,具有一定的參考價值,感興趣的小夥伴們可以參考一下 qcombobox 是乙個允許使用者從列表選項中選擇一項的控制項。usr bin python3 coding utf 8 pyqt5 教程 這個例子展示了如何使用qcombobox部件。部落格...
PyQt5之QMessageBox彈出式對話方塊
qmessagebox是一種通用的彈出式對話方塊,用於顯示訊息,允許使用者通過單擊不同的標準按鈕對訊息進行反饋。每個標準按鈕都有乙個預定義的文字 角色和十六進製制數。qmessagebox類提供了許多常用的彈出式對話方塊,如提示 警告 錯誤 詢問 關於等對話方塊。方法 描述information q...