QT 槽函数 单or多线程处理 疑问?解决思路
QT 槽函数 单or多线程处理 疑问?我想问下:QT的槽函数是多线程的还是单线程的?比如,同时发送两个信号,槽函
QT 槽函数 单or多线程处理 疑问?
我想问下:
QT的槽函数是多线程的还是单线程的?
比如,同时发送两个信号,槽函数是并行处理两个,还是串行处理?
另外:都说只有在主线程中能修改控件,比如(ListWidget)
如果我在MaiFrm中写一个槽函数,内容是修改ListWidget中的内容.
这时,通过额外起线程,往MainFrm的槽函数发送信号,这样也能修改内容,
但这样算是在主线程中修改吗?
[解决办法]
[解决办法]“QT的槽函数是多线程的还是单线程的?”
如果是UI相关的,那必然是在主线程中被顺序执行。
但关于这个问题,我想做一些补充。
Qt的信号是可以跨线程投递的,槽函数在哪个线程被执行,这取决于信号和槽的连接方式。看一下connect的参数便可知道。
因此一个非UI的槽函数,完全可以在两个次线程中被并行执行。
楼主需要记住一句话,“事件循环必然是串行的,但可以有多个事件循环在并行工作”这就是Qt,呵呵。