Qt信号和槽对值传递参数和引用传递参数方法


在多线程传递参数时,遇到了信号槽跨线程参数传输错误问题,总结如下:

在同一个线程中
当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别:
值传递会复制对象; 
引用传递不会复制对象;

不在同一个线程中
当信号和槽不在同一个线程中时,分两种情况。
1、connect时使用AutoConnection(跨线程默认是QueuedConnection):值传递参数和引用传递参数没有区别,都会复制对象;(测试时,打印传递前后的地址不同)
2、connect时使用DirectConnection,测试结果和在同一线程中的结果相同

 

参考:

https://blog.csdn.net/u010168781/article/details/82108522

https://blog.csdn.net/life_is_too_hard/article/details/52089723


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM