PyQt5每天必學之彈出訊息框

2022-09-27 09:18:08 字數 1538 閱讀 9635

預設情況下,如程式設計客棧果我們點選標題欄上的 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...