qt 多窗口 多线程 问题

绕时间转圈 2015-03-03 03:08:55
写了一个程序,能打开很多用 qquickview 实现的窗口,
并且自定义了很多quick lib (继承qquickitem的)。

现在是写完了。
但是看网上说 qt gui 是一个独立的线程,
如果多个窗口 都有很多对画面的描画操作的时候,会不会卡死啊?
如果quickitem里面处理大量逻辑的时候,会不会一直占用主线程? 其他窗口会不会没有响应了?
我在一个quickitem里写了一个十万次的循环,结果所有窗口都死掉了。

想问问有没有写过多窗口,多线程的 案例经验能分享一下的?

给讲解下qt gui的内核,或者有相关资料的能分享下的(英语不好,没找到相关说明)。

qquickview是独立的线程么?

qml的engine是独立的线程么?
...全文
663 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hankern 2018-09-19
  • 打赏
  • 举报
回复
https://blog.csdn.net/hankern/article/details/81734709 qt5+osg多线程的解决方案
  • 打赏
  • 举报
回复
引用 3 楼 sinat_24192165 的回复:
[quote=引用 2 楼 u012562515 的回复:] 如果你没有继承QThread类,那么你只用了一个线程,绘图的时候自然很卡,开多线程吧!
对,现在就是想开多线程,但是我比较迷茫的是,线程中去创建窗口么?那窗口的描画是不是就不在主线程中作了? 而QQuickItem里面的逻辑,也是在窗口线程中巴?这里每个复杂的QQuickItem里也要创建线程? [/quote] 你也可以在主线程中create一个线程专门创建窗口。
绕时间转圈 2015-03-05
  • 打赏
  • 举报
回复
引用 2 楼 u012562515 的回复:
如果你没有继承QThread类,那么你只用了一个线程,绘图的时候自然很卡,开多线程吧!
对,现在就是想开多线程,但是我比较迷茫的是,线程中去创建窗口么?那窗口的描画是不是就不在主线程中作了? 而QQuickItem里面的逻辑,也是在窗口线程中巴?这里每个复杂的QQuickItem里也要创建线程?
绕时间转圈 2015-03-05
  • 打赏
  • 举报
回复
引用 3 楼 sinat_24192165 的回复:
[quote=引用 2 楼 u012562515 的回复:] 如果你没有继承QThread类,那么你只用了一个线程,绘图的时候自然很卡,开多线程吧!
对,现在就是想开多线程,但是我比较迷茫的是,线程中去创建窗口么?那窗口的描画是不是就不在主线程中作了? 而QQuickItem里面的逻辑,也是在窗口线程中巴?这里每个复杂的QQuickItem里也要创建线程? [/quote] 我现在这么用了。 出来的效果是, weight窗口可以描画,但是鼠标在窗口上移动的时候,后台总是报 Object event filter cannot in a different thread 使用QQuickview 做窗口 会出来 cannot make qopenglcontext current in a different thread 错误,然后直接崩溃了。
三月轻柳 2015-03-04
  • 打赏
  • 举报
回复
如果你没有继承QThread类,那么你只用了一个线程,绘图的时候自然很卡,开多线程吧!
绕时间转圈 2015-03-03
  • 打赏
  • 举报
回复
自己顶一下,希望有人可以指点一下。

16,199

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧