今天写代码写着写着突然意识到我写的代码有个问题
我每次调用signal绑定的槽函数 都是signal.某某信号.emit()
这样来调用槽函数
我突然觉得是不是多此一举
我直接把槽函数拿来用
为何要多这一步定义信号 之后发送信号来调用槽函数?
我的pyqt没经过系统的学习,看视频学了一点 上班做一点小工具 各位多指教
今天写代码写着写着突然意识到我写的代码有个问题
我每次调用signal绑定的槽函数 都是signal.某某信号.emit()
这样来调用槽函数
我突然觉得是不是多此一举
我直接把槽函数拿来用
为何要多这一步定义信号 之后发送信号来调用槽函数?
我的pyqt没经过系统的学习,看视频学了一点 上班做一点小工具 各位多指教
信号与槽是Qt中的核心概念,有了信号与槽,我们就可以通过在UI上点击、输入等操作触发程序内部的函数发挥作用,比如在控制台上打印一段文本,比如将用户在QTextEdit中输入的文本读入程序做后续处理。因此想要真正做到通过UI让用户和内部程序进行交互,信号与槽是必不可少的(在Qt的框架下)。
信号(signal)是由事件(event)发生,进而引起控件发出,只要信号发出,那么与信号绑定(connect)的槽函数(slot)就会被执行。比如最简单的信号就是clicked,如果用户在UI上点击了按钮之类的控件,那么这个点击事件就会使得这些被点击的控件发出clicked信号,这些信号会被与控件绑定的若干个槽函数捕获,然后这些槽函数就会被执行。大致的逻辑如此。
当然你说的直接调用是可以的,但pyqt的signal是整个框架设计,实现方法千万种,能实现就好了