PyQt5每天必学之关闭窗口


Posted in Python onApril 19, 2018

最简单的关闭一个窗口的方法是点击标题栏上的 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每天必学之关闭窗口

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中对列表排序实例
Jan 04 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
简单谈谈Python中的json与pickle
Jul 19 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
浅谈python下含中文字符串正则表达式的编码问题
Dec 07 Python
Python正则表达式和re库知识点总结
Feb 11 Python
Python实现微信机器人的方法
Sep 06 Python
Python : turtle色彩控制实例详解
Jan 19 Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 Python
python实现在IDLE中输入多行的方法
Apr 19 #Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 #Python
PyQt5每天必学之工具提示功能
Apr 19 #Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 #Python
python 读入多行数据的实例
Apr 19 #Python
Python 绘图库 Matplotlib 入门教程
Apr 19 #Python
python 列表删除所有指定元素的方法
Apr 19 #Python
You might like
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
Python中input和raw_input的一点区别
2014/10/21 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
python修改txt文件中的某一项方法
2018/12/29 Python
python3实现字符串操作的实例代码
2019/04/16 Python
pandas.cut具体使用总结
2019/06/24 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Python urllib2运行过程原理解析
2020/06/04 Python
python与js主要区别点总结
2020/09/13 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
大专毕业生自我鉴定
2013/11/21 职场文书
告诉你怎样写创业计划书
2014/01/27 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书