首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt为什么只能在主线程里进行UI操作?解决方案

2012-09-16 
qt为什么只能在主线程里进行UI操作?好几位大神告诉我qt只能在主线程new一个ui和进行一些ui相关的操作我不

qt为什么只能在主线程里进行UI操作?
好几位大神告诉我qt只能在主线程new一个ui和进行一些ui相关的操作
我不懂为什么,期待大神解答?

[解决办法]

探讨

引用:
系统图形系统的限制
每个UI库都有这样的限制
但是我在线程里面new一个widget是可以正常显示的啊?我同事告诉我说是因为在主线程里面运行的app->exec(),所以这样次线程里面的ui无法接受到系统事件,是不是这样的原因啊?

[解决办法]
对Qt而言,一个进程里和窗口系统(譬如Win32的GDI, linux下的X11)UI事件关联的只有主UI线程,而并没有设计成多线程和系统窗口系统同时交互(复杂性,安全性,性能等原因),这应该是根源。

热点排行