今天做项目需要根据信号建立信号槽机制,但是有时候会发送两个相同的信号,那么就要建立两次相同的信号槽机制,接着发现出现计划之外的情况。经过测试,猜想如下:
qt在建立信号槽机制的时候会另开一个线程工作,两次连接的后果就是qt开了两个线程工作,如果设定了定时器,就会触发两次timeout。会对计划的后果产生意料之外的影响。
采取的办法是,每次建立连接之前,先disconnect之前的连接,保持不会有两个相同的连接同时进行。
今天做项目需要根据信号建立信号槽机制,但是有时候会发送两个相同的信号,那么就要建立两次相同的信号槽机制,接着发现出现计划之外的情况。经过测试,猜想如下:
qt在建立信号槽机制的时候会另开一个线程工作,两次连接的后果就是qt开了两个线程工作,如果设定了定时器,就会触发两次timeout。会对计划的后果产生意料之外的影响。
采取的办法是,每次建立连接之前,先disconnect之前的连接,保持不会有两个相同的连接同时进行。