国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

PyQt5每天必學(xué)之關(guān)閉窗口

2020-02-22 23:44:38
字體:
供稿:網(wǎng)友

最簡(jiǎn)單的關(guān)閉一個(gè)窗口的方法是點(diǎn)擊標(biāo)題欄上的 x 標(biāo)志。但是,在下面的例子中,我們將展示如何通過編程來控制關(guān)閉窗口。我們將使用PyQt5的信號(hào)/槽。

以下是我們?cè)诶又惺褂玫降?QPushButton 控件的構(gòu)造方法。

QPushButton(string text, QWidget parent = None)

text 參數(shù)是在按鈕上顯示的文本。parent 要將按鈕控件放在哪里。在下面的例子中我們要將按鈕控件放到 QWidget里。一個(gè)應(yīng)用程序的窗口控件可以形成一個(gè)分層結(jié)構(gòu),在這個(gè)層次,大多數(shù)控件有他們的父控件,沒有父控件的控件即是頂層窗口。

#!/usr/bin/python3# -*- coding: utf-8 -*-"""PyQt5 教程這個(gè)程序創(chuàng)建一個(gè)退出按鈕。當(dāng)我們按下按鈕,應(yīng)用程序?qū)⒔K止。作者:我的世界你曾經(jīng)來過博客:http://blog.csdn.net/weiaitaowang最后編輯:2016年7月29日"""import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QPushButtonfrom PyQt5.QtCore import QCoreApplicationclass 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_())

在這個(gè)例子中,我們創(chuàng)建了一個(gè)退出按鈕。當(dāng)點(diǎn)擊按鈕,應(yīng)用程序終止。

from PyQt5.QtCore import QCoreApplication

我們需要使用 QtCore 模塊中的 QCoreApplication 對(duì)象

 btn = QPushButton('退出', self)

我們創(chuàng)建了一個(gè)按鈕,按鈕是 QPushButton 類的一個(gè)實(shí)例。構(gòu)造函數(shù)的第一個(gè)參數(shù)是按鈕的標(biāo)簽。第二個(gè)參數(shù)是父窗口控件。父窗口控件是Example 控件,這是一個(gè)繼承自 QWidget 的類。

btn.clicked.connect(QCoreApplication.instance().quit)

該事件處理系統(tǒng)建立在 PyQt5 的信號(hào)/槽的機(jī)制上。如果我們點(diǎn)擊該按鈕,按鈕將會(huì)發(fā)出信號(hào),單擊信號(hào)連接到 quit() 方法使應(yīng)用程序終止。

槽可以是 Qt 的槽也可以是 Python 的任何調(diào)用。 QCoreApplication 包含主事件循環(huán);它處理和調(diào)度所有事件。instance()方法為我們提供了其當(dāng)前實(shí)例。注意,區(qū)分 QCoreApplication 與 QApplication。

發(fā)送器和接收器:在通信的兩個(gè)對(duì)象之間進(jìn)行。發(fā)送器是按鈕,接收器是應(yīng)用對(duì)象。

概念有些混亂,這里整理一下:

按鈕(btn)是發(fā)送器。點(diǎn)擊(clicked)按鈕后,發(fā)出點(diǎn)擊信號(hào)。點(diǎn)擊信號(hào)連接(connect)到槽(可以是 Qt 的槽也可以是 Python 的任何調(diào)用)。
在我們的例子中是Qt的槽,QCoreApplication處理和調(diào)度所有Qt事件,調(diào)度出instance(這個(gè)實(shí)例(接收器))的 quit 事件。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 股票| 威海市| 卓资县| 碌曲县| 手游| 义马市| 珲春市| 涞源县| 鸡东县| 新和县| 琼结县| 仁寿县| 峨眉山市| 曲麻莱县| 大埔区| 华阴市| 华蓥市| 读书| 祁东县| 读书| 济阳县| 平湖市| 类乌齐县| 烟台市| 自治县| 台南市| 香港 | 琼中| 隆德县| 承德市| 白玉县| 沙田区| 华坪县| 钦州市| 启东市| 巴中市| 香格里拉县| 遂溪县| 武鸣县| 天祝| 山阳县|