全站数据
8 4 2 0 5 8 1

Qt中信号和槽是怎么工作的举个具体一点简单

一位电子工程师 | 简单学习,快乐成才!         
问题更新日期:2024-11-07 17:34:27

问题描述

Qt中信号和槽是怎么工作的举个具体一点简单,麻烦给回复
精选答案
最佳答案

1.一个信号不要同时连接几个槽函数,不然执行的顺序是随机的,最后的结果可能会和自己期待的有出入。

2.基本上,所有的信号连接槽函数之后,会执行完当前连接的槽函数,然后再执行emit信号之后的内容。

但是也会有意外的情况发生:如果当前信号里面要执行的内容过于复杂(e.g.slots中又包含emit信号,本身slots函数又比较复杂等等),会导致线程之间的混乱,可能这个slots函数中的内容还未执行完,就去执行之后的内容了。所以这样也会产生意想不到的结果。在使用中需要注意。信号和槽函数虽然在一定程度上方便了不同模块之前函数的调用,但是过多的使用会让类之间过于耦合、引起信号和槽函数彼此之间互相调用导致混乱等问题。

所以还是得视具体情况具体分析,合理的恰到好处的使用才是最好的。

随机推荐