关于多线程中new widget

马德堡 2017-09-29 10:07:18
我遇到这么一个问题,我的窗口在打开的时候会new几千个我自定义的widget,非常耗时。于是我想放到thread中来一个个的new并显示出来,以保证主界面不卡住,但是thread中不能new widget,请问有没有什么好的方法来保证主界面不卡顿
...全文
324 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
雲天之巔 2017-10-23
  • 打赏
  • 举报
回复
上千个 肯定要慢慢来了 你可以放入定时器 比如10毫秒激发一次定时器 然后new10个 界面加个正在加载之类的进度条 不就完美解决了
橙儿稻香 2017-09-30
  • 打赏
  • 举报
回复
引用 4 楼 owuhanoo 的回复:
[quote=引用 3 楼 qq_23191991 的回复:] 才 几千个 就非常耗时 说明你代码 有问题
您也是张嘴就来 我是嵌入式设备,你new几千个label试试耗不耗时[/quote] 如果单单new都卡的话 嵌入式设备计算力有限 这个我挺好奇还有代码以外的代码能优化?
马德堡 2017-09-29
  • 打赏
  • 举报
回复
加个processEvent()就行了
  • 打赏
  • 举报
回复
UI界面必须放在主线程操作,没法放在子线程。可以在窗口打开时显示一个正在加载之类的界面,这样就有一个缓冲时间。或者打开后只显示一个界面,后台再进行new widget操作,所有的widget new完后再一次性显示。
马德堡 2017-09-29
  • 打赏
  • 举报
回复
引用 3 楼 qq_23191991 的回复:
才 几千个 就非常耗时 说明你代码 有问题
您也是张嘴就来 我是嵌入式设备,你new几千个label试试耗不耗时
DC_Sea 2017-09-29
  • 打赏
  • 举报
回复
才 几千个 就非常耗时 说明你代码 有问题

16,215

社区成员

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

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