kyiiiii男友 2022-03-17 15:45 采纳率: 100%
浏览 47
已结题

pyqt的signal有什么作用

今天写代码写着写着突然意识到我写的代码有个问题
我每次调用signal绑定的槽函数 都是signal.某某信号.emit()
这样来调用槽函数
我突然觉得是不是多此一举
我直接把槽函数拿来用
为何要多这一步定义信号 之后发送信号来调用槽函数?

我的pyqt没经过系统的学习,看视频学了一点 上班做一点小工具 各位多指教

  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2022-03-17 16:18
    关注

    信号与槽是Qt中的核心概念,有了信号与槽,我们就可以通过在UI上点击、输入等操作触发程序内部的函数发挥作用,比如在控制台上打印一段文本,比如将用户在QTextEdit中输入的文本读入程序做后续处理。因此想要真正做到通过UI让用户和内部程序进行交互,信号与槽是必不可少的(在Qt的框架下)。

    信号(signal)是由事件(event)发生,进而引起控件发出,只要信号发出,那么与信号绑定(connect)的槽函数(slot)就会被执行。比如最简单的信号就是clicked,如果用户在UI上点击了按钮之类的控件,那么这个点击事件就会使得这些被点击的控件发出clicked信号,这些信号会被与控件绑定的若干个槽函数捕获,然后这些槽函数就会被执行。大致的逻辑如此。

    当然你说的直接调用是可以的,但pyqt的signal是整个框架设计,实现方法千万种,能实现就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月17日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度