您好,登錄后才能下訂單哦!
小編給大家分享一下PyQt5如何關閉窗口,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
最簡單的關閉一個窗口的方法是點擊標題欄上的 x 標志。但是,在下面的例子中,我們將展示如何通過編程來控制關閉窗口。我們將使用PyQt5的信號/槽。
以下是我們在例子中使用到的 QPushButton 控件的構造方法。
QPushButton(string text, QWidget parent = None)
text 參數是在按鈕上顯示的文本。parent 要將按鈕控件放在哪里。在下面的例子中我們要將按鈕控件放到 QWidget里。一個應用程序的窗口控件可以形成一個分層結構,在這個層次,大多數控件有他們的父控件,沒有父控件的控件即是頂層窗口。
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 這個程序創建一個退出按鈕。當我們按下按鈕,應用程序將終止。 作者:我的世界你曾經來過 博客:http://blog.csdn.net/weiaitaowang 最后編輯:2016年7月29日 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from PyQt5.QtCore import QCoreApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): btn = QPushButton('退出', self) btn.clicked.connect(QCoreApplication.instance().quit) btn.resize(btn.sizeHint()) btn.move(50, 50) self.setGeometry(300, 300, 300, 220) self.setWindowTitle('退出按鈕') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
在這個例子中,我們創建了一個退出按鈕。當點擊按鈕,應用程序終止。
from PyQt5.QtCore import QCoreApplication
我們需要使用 QtCore 模塊中的 QCoreApplication 對象
btn = QPushButton('退出', self)
我們創建了一個按鈕,按鈕是 QPushButton 類的一個實例。構造函數的第一個參數是按鈕的標簽。第二個參數是父窗口控件。父窗口控件是Example 控件,這是一個繼承自 QWidget 的類。
btn.clicked.connect(QCoreApplication.instance().quit)
該事件處理系統建立在 PyQt5 的信號/槽的機制上。如果我們點擊該按鈕,按鈕將會發出信號,單擊信號連接到 quit() 方法使應用程序終止。
槽可以是 Qt 的槽也可以是 Python 的任何調用。 QCoreApplication 包含主事件循環;它處理和調度所有事件。instance()方法為我們提供了其當前實例。注意,區分 QCoreApplication 與 QApplication。
發送器和接收器:在通信的兩個對象之間進行。發送器是按鈕,接收器是應用對象。
概念有些混亂,這里整理一下:
按鈕(btn)是發送器。點擊(clicked)按鈕后,發出點擊信號。點擊信號連接(connect)到槽(可以是 Qt 的槽也可以是 Python 的任何調用)。
在我們的例子中是Qt的槽,QCoreApplication處理和調度所有Qt事件,調度出instance(這個實例(接收器))的 quit 事件。
大概就這個意思了,慢慢理解吧!
程序執行后,點擊退出按鈕,將關閉程序。
以上是“PyQt5如何關閉窗口”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。