1、定义槽的格式

1

2

3

@PyQt5.QtCore.pyqtSlot(参数)

def on_发送者对象名称_发射信号名称(self,参数):

 pass

2、注意点,使用装饰器必须定义两个东西

QMetaObject.connectSlotsByName(self)

给需要绑定事件的定义一个id(self.btn.setObjectName('名称'))

3、按钮的普通事件

如果普通事件,则程序如下:

class Window(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)self.setWindowTitle('装饰器信号与槽')self.resize(500, 500)self.move(400, 200)self.btn = QPushButton('按钮', self)self.init_ui()def init_ui(self):self.btn.clicked.connect(self.btn_hand)@staticmethoddef btn_hand():print('使用connect点击了按钮')

4、使用装饰器后的事件

from PyQt5.QtWidgets import QMainWindow, QPushButton, QWidget, QMessageBox, QApplication, QHBoxLayout
from PyQt5.QtCore import QMetaObject,pyqtSlot
import sysclass Window(QWidget):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)self.setWindowTitle('装饰器信号与槽')self.resize(500, 500)self.move(400, 200)self.btn = QPushButton('按钮', self)self.init_ui()# 要在加载组件后使用QMetaObject.connectSlotsByName(self)def init_ui(self):# 这个地方定义的名字直接在下面使用self.btn.setObjectName('btn')@pyqtSlot()def on_btn_clicked(self):print('使用装饰器点击了按钮')
if __name__ == "__main__":app = QApplication(sys.argv)form = Window()form.show()sys.exit(app.exec_())

python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例_python_脚本之家 (jb51.net)

QT5知识:装饰器@pyqtSlot和槽和信号相关推荐

  1. python多个for的执行顺序-python_装饰器篇(多个装饰器下的执行顺序)

    在之前的帖子中,简单自我总结了装饰器的几个情况以及基本上使用,那么有基本上说的都是单个的装饰器修饰方法 有时候我们会发现一个方法上面有多个装饰器 如下: @dec2 @dec def a(a): if ...

  2. [python 进阶] 第7章 函数装饰器和闭包

    文章目录 7.1 装饰器基础知识 7.2 Python何时执行装饰器 7.3 使用装饰器改进"策略" 7.4 变量作用域(global) 备注 -比较字节码(暂略) 7.5 闭包 ...

  3. [转载] Python学习笔记——用装饰器decorator和Memoization记忆化提高效率,原理讲清楚了

    参考链接: 在Python中使用装饰器进行记忆 Python学习笔记--用装饰器decorator和Memoization记忆化提高效率 装饰器Memoization记忆化运用`functools`中 ...

  4. python装饰器与闭包_Python:函数装饰器和闭包

    摘自<流畅的python> 7.1 装饰器基础知识 装饰器是可调用的对象,其参数是另一个函数(被装饰的函数). 装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用 ...

  5. CHAR.VI 函数装饰器和闭包

    CHAR.VI 函数装饰器和闭包 函数装饰器用于在源码中"标记"函数,以某种方式增强函数的行为.这是一项强大的功能,但是若想掌握,必须理解闭包. nonlocal 是新近出现的保留 ...

  6. 深入理解python装饰器

    前言 你学习python的时候一定也遇到了装饰器,但是很多学习教程对装饰器的解释都是绕来绕去的,把初学者都给绕的云里雾里,我想读者你一定有类似的经历对吧?不过不要着急,只要你仔细用心的观看我这篇文章之 ...

  7. pyqt5界面与逻辑分离--信号槽的装饰器实现方式

    pyqt5界面与逻辑分离--信号槽的装饰器实现方式 本文展示了 pyqt5 信号槽的装饰器实现方式(借鉴自 eirc6) 一个简单的例子.实现功能:两个数相加,显示结果.如图 两个文件,第一个是界面文 ...

  8. python基础知识-11-函数装饰器

    python其他知识目录 1.装饰器学习前热身准备 1.1装饰器简介 1.2装饰器热身分析 1) def func():pass v1 = 10 v2 = func #将函数名赋予一个变量,就和变量赋 ...

  9. python装饰器深度讲解_python核心知识讲解,干货!!!

    大家好,为大家带来python中核心知识的讲解,不讲最基础的语法,这个大家都能轻松学会,不耽误时间,只有干货. ###查看当前作用域内的所有变量 >>>help('__main__' ...

最新文章

  1. 1.8 简单的文件输入输出
  2. 自建DNS服务器,了解一代防火墙必备网络环境,局域网设备域名访问教程
  3. win8.1注册表-修改资源管理器的默认路径regedit
  4. 为什么要用 redis/为什么要用缓存
  5. MVC应用程序实现文件库(FlexPaper)
  6. 在Spring Boot测试中使用Testcontainer进行数据库集成测试
  7. 3.16 按绩点排名
  8. 史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
  9. 云图说 | 3分钟创建一个游戏类工作负载
  10. 台积电晶圆14A厂周三曾因断电而部分停产 预计损失不低于2800万美元
  11. 如何用stata画莫兰散点图_图说meta十四:漏斗图暨Stata软件使用方法简介
  12. js实现展开全部内容,收起全部内容
  13. 【python数据挖掘课程】二十七.基于SVM分类器的红酒数据分析
  14. 先试试这一招,再决定是否要撬开拉杆箱的密码锁——巧开密码锁
  15. 解决IDEA打断点后,执行代码不会停在断点问题
  16. 嵌入式物联网软件开发实战系列(STM32+FreeRTOS)
  17. 计算机校本研究题目,信息技术小课题研究题目大全
  18. 【液体倒进电脑了怎么办:个人处理经验】
  19. 如何提高云服务器性能,提高云服务器性能
  20. win10打印机共享错误0x0000011b

热门文章

  1. 文巾解题 197. 上升的温度
  2. 深度学习核心技术精讲100篇(二十五)-58同城是如何构建智能化流量分发的?
  3. Meanshift解析
  4. php ldap 创建用户,PHP LDAP获取作为组成员的成员的用户详细信息
  5. python长连接框架_python之websocket【长连接的实现】
  6. Java第一个程序Helloworld
  7. 写给开发向产品转型的同学的3句话
  8. WebLogic Server的Identity Assertion--转载
  9. weblogic cluster error-----Could not= open connection with host: 127.0.0.1
  10. hibernate 三种查询方式源码跟踪及总结