当前位置: 代码迷 >> QT开发 >> 请教一下,Qt Gui主线程中能不能启用一个子线程来显示等待Dialog
  详细解决方案

请教一下,Qt Gui主线程中能不能启用一个子线程来显示等待Dialog

热度:51   发布时间:2016-04-25 04:01:32.0
请问一下,Qt Gui主线程中能不能启用一个子线程来显示等待Dialog
在Gui主界面中点击一个按钮显示另一个界面。

我是这样做的

DialogA中点击按钮Btn->调用DialogB中的Init初始化函数->DialogB显示(show)

问题:

调用Init初始化函数比较耗时。
我现在做了一等待对话框QWaitDlg,

我想请问一下,能不能另起一个QThread来将QWaitDlg显示在DialogA上方

或者还有什么更好的处理方法。

谢谢了,各位专家


------解决方案--------------------
你可以在主线程里启动QWaitDlg 然后多线程init比较好 那样就简单多了
QWaitDlg  setmodal show就可以 其实不用多线程 setmodal (true) 并不阻塞
------解决方案--------------------
不要再线程里操作任何UI的东西
------解决方案--------------------
QSplashScreen不是更好吗,被设计为专门用来显示启动画面的。
------解决方案--------------------
显然可以
windows里有个消息队列对应的有postMessage是异步消息处理
可以处理异步的消息
Qt里面你也可以模拟自己做一个异步消息队列
但是show 和 hide不建议做成异步的
  相关解决方案