1、信号与槽机制:主要用于在对象之间进行通讯。

发出一个信号clicked,让信号和槽函数进行关联。

当用户点击该按钮,这个按钮会发出信号clicked,又因为将信号与上边的槽建立连接,所以会自动的去执行槽函数,槽函数会将标签内容改变。

信号:当控件的状态发生改变时,向外界发出的信息。

槽:一个执行某些操作的函数/方法。

两个信号之间也可以进行连接。

2、信号与槽之间的API

信号①当信号名称发生改变时,可以用该信号。

# 取消信号与槽的连接,信号仍然会被触发发生,但信号与槽之间的关系被断开
#self.obj.objectNameChanged.disconnect()
# 再次建立信号与槽的连接
#self.obj.objectNameChanged.connect(obj_name_cao)
# 另外一种方法,代码表示临时阻断信号与槽的连接
self.obj.blockSignals(True)
# 恢复信号与槽的连接
self.obj.blockSignals(False)
# 错误例子,输入是一个字符串,而不是QT的信号类型
# 当前信号连接的槽的个数
#print(self.obj.receivers("objectNameChanged"))
print(self.obj.receivers(self.obj.objectNameChanged))
from PyQt5.Qt import *
import sysclass Window(QWidget):def __init__(self):super().__init__()self.setWindowTitle("QT学习")self.resize(500, 500)#self.QObject_name_property()#self.QObject对象父子关系()#self.manage_memory()self.QObject_信号与槽()def QObject_信号与槽(self):self.obj = QObject()# 将obj对象里的信号与槽进行连接# def destory_cao(obj):#     print("对象被释放了", obj)## # 当对象被释放就会发出destory信号,就会触发自定义槽函数# # destory信号可以像外界携带一个被释放的信号# self.obj.destroyed.connect(destory_cao)# del self.obj# name是最新发生改变的名字def obj_name_cao(name):print("对象名称发生了改变", name)def obj_name_cao2(name):print("对象名称发生了改变2", name)self.obj.objectNameChanged.connect(obj_name_cao)self.obj.objectNameChanged.connect(obj_name_cao2)# 错误例子,输入是一个字符串,而不是QT的信号类型# 当前信号连接的槽的个数#print(self.obj.receivers("objectNameChanged"))print(self.obj.receivers(self.obj.objectNameChanged))self.obj.setObjectName("xxx")# 取消信号与槽的连接,信号仍然会被触发发生,但信号与槽之间的关系被断开#self.obj.objectNameChanged.disconnect()# 获取信号是否被阻止,输出为false,表示并未被临时暂停print(self.obj.signalsBlocked())# 另外一种方法,代码表示临时阻断信号与槽的连接self.obj.blockSignals(True)# 输出为true,确实被临时暂停print(self.obj.signalsBlocked())self.obj.setObjectName("iiii")# 再次建立信号与槽的连接#self.obj.objectNameChanged.connect(obj_name_cao)# 恢复信号与槽的连接self.obj.blockSignals(False)print(self.obj.signalsBlocked())self.obj.setObjectName("dhiwab")if __name__ == "__main__":app = QApplication(sys.argv)window = Window()window.show()sys.exit(app.exec_())

QObject---信号与槽机制相关推荐

  1. QT 的信号与槽机制介绍

    QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT ...

  2. qt学习之路3 ---信号与槽机制

    信号和槽机制 1.概述 Qt采用了一种全新的对象和方法的关联与通信机制,称为信号和槽机制.信号和槽机制是独立于标准C++编译器的,在编译之前需要经过Qt的专门预处理工具MOC(Meta Object ...

  3. QT信号与槽机制需要注意的问题

    1.信号与槽的效率是非常高的,但是同真正的回调函数比较起来,由于增加了灵活性,因此在速度上还是有所损失.当然这种损失相对来说是比较小的,但是要追求高效率的话,比如实时系统,就要尽可能避免. 2.信号与 ...

  4. 【qt】QT 的信号与槽机制

    QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT ...

  5. QT5开发及实例学习之二信号和槽机制

    文章目录 前言 一.信号与槽机制的连接方式 二.信号与槽机制的优点 三.信号与槽机制的效率 前言 Qt提供了信号和槽机制用于完成界面操作的响应,信号和槽机制是完成任意两个Qt对象之间的通信机制.其中, ...

  6. QT每日一练day8:信号与槽机制

    一. 创建一个空的项目 添加QT的支持 添加main.cpp 编译报错,Q_OBJECT放在CPP文件中会报这个错误,必需放头文件,这个宏比较特殊,只有放头文件才能展开 添加头文件test.h mai ...

  7. 【转载】QT 的信号与槽机制介绍

    QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象.易于扩展.真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT ...

  8. Qt源码分析之信号和槽机制

    Qt的信号和槽机制是Qt的一大特点,实际上这是和MFC中的消息映射机制相似的东西,要完成的事情也差不多,就是发送一个消息然后让其它窗口响应,当然,这里的消息是广义的 说法,简单点说就是如何在一个类的一 ...

  9. Qt编程中的信号和槽机制

    Qt编程中的信号和槽机制 在使用自定义类创建一个按钮之后,只能看到一个按钮的图形,但是使用鼠标点击并无任何反应,下面想要实现一个"点击按钮可以关闭窗口"的功能. 关闭窗口的功能可以 ...

  10. QT5开发之 信号与槽机制

    文章目录 什么是信号与槽? 信号与槽原理 如何实现信号与槽机制? 实现方式 UI方式 代码方式(QT4) QObject类:connect和disconnect 连接函数(QT4+QT5使用) 找到类 ...

最新文章

  1. api.533.net 文章迁移计划
  2. Matlab Robotic Toolbox V9.10工具箱(五):动力学简介
  3. vue点击切换css样式
  4. php与ajax交互中文乱码(字符串转化)
  5. mysql 创建和删除库_mysql入门系列:mysql创建、删除和选择数据库
  6. matlab仿真卫星导航接收机信号干扰,卫星导航软件接收机多采样率信号处理技术...
  7. 易用宝项目记录day8-Excel的导入导出
  8. 计算机基础知识章节教学目标,精选计算机教学计划三篇
  9. 测试用例方法----正交试验(实验)设计法(黑盒)
  10. mysql报No Database Selected
  11. 美术集网校--常见的水粉调色纯干货分享,记得收藏!
  12. 编程编辑器推荐(编程常用编辑器的横向对比)
  13. 用户吐槽不能给安卓手机发视频,库克:“给你妈妈买台 iPhone !”
  14. 全景视频拼接的关键技术与发展优势、作用、应用。
  15. python卸载及python 0x80070643 安装发生严重错误
  16. NC63开发遇到的错误记录
  17. FCKeditor 2.0在线编辑器的设置与修改以及使用
  18. MATLAB/SAS学习笔记
  19. FullCalendar日历插件说明文档
  20. 单片机VIN VOUT VCC GND是什么

热门文章

  1. 人人站CMS-站长工具箱上线(常用工具汇总)
  2. Unity编辑器工具制作(一)
  3. 我是如何入门学习html的?
  4. 中山大学计算机复试英语翻译,2019中山大学翻译硕士英语笔译考研经验给学弟学妹...
  5. 全城瞩目!献礼祖国71华诞,“琴岛之梦”巨报嘉年华亮相中山公园
  6. 迅为i.MX6ULL开发板资料下载,让Linux学习更轻松
  7. 计算机作曲教师,厉害了!甘肃一教师发明黑科技乐器燃爆朋友圈
  8. 4pl参数拟合python程序
  9. c语言 手机app防沉迷系统,推荐 | 那些手机防沉迷的APP
  10. sql 游标会影响rollback吗_住宅风水会影响身体健康吗