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

溫馨提示×

溫馨提示×

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

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

PyQt5如何關閉窗口

發布時間:2021-08-18 15:24:38 來源:億速云 閱讀:317 作者:小新 欄目:開發技術

小編給大家分享一下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如何關閉窗口

以上是“PyQt5如何關閉窗口”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

特克斯县| 兰州市| 子洲县| 通州市| 天峻县| 晋宁县| 兰考县| 唐河县| 襄垣县| 德令哈市| 肇庆市| 双峰县| 马鞍山市| 兰考县| 柏乡县| 柳河县| 平定县| 星座| 竹山县| 河西区| 峨山| 邳州市| 泽库县| 龙泉市| 怀远县| 社旗县| 纳雍县| 永定县| 汉川市| 石首市| 横峰县| 湘阴县| 禹州市| 平邑县| 宜兴市| 霸州市| 平定县| 大港区| 营山县| 浦县| 睢宁县|