Qt下如何控制线程的执行顺序

Qt下如何控制线程的执行顺序,第1张

我提供两种比较简单的解决方案

创建一个Receiver的QObject, 该对象必须生存在你继承的线衡笑唯程中

要么给该对象升盯构造对应的信号, 然后与你主线程窗体进行Connect, 一般来说是Queue的Connection

然后在子线程只要Emit你所实现的信号即可

或者用postEvent来解决, 自定义一种咐培Event, 然后持有主线程窗体对象, 然后PostEvent给主线程窗体对象

.父窗口和子窗口resize 和show的顺序 。

所以说一开始在父类想获取子类大小,只誉贺能获取到一开始在构造函数设置的大小 (没有布局或这控件本身不打算拉伸这样也是可以裂扒的肆虚昌)但是拉伸了之后正确大小获取不到。

等程序执行完成 再进行resize 这时候是所有子空间都执行完resize() 再执行的父窗口resize 这时候父resize函数里是可以获取正确大小的。

2.程序显示出来再改变大小的时候 。

这个时候子窗口resize时 信号让父窗口函数获取同级子窗口大小是没有作用的,别人resize不一定执行完 或者根本就是再你之后执行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12302724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存