首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加快QAction::setIcon

如何加快QAction::setIcon
EN

Stack Overflow用户
提问于 2022-01-17 22:25:52
回答 1查看 46关注 0票数 0

使用我目前拥有的系统,每次加载新文件时,我必须运行QAction::setIcon大约30次。这是用来填充打开的菜单。

setIcon的每一次调用都在25 is左右,在切换文件时会导致极其恼人的半秒延迟。

我已经尝试将菜单填充移动到另一个线程,这很好,但是我在控制台中获得了QObject::startTimer: Timers cannot be started from another thread,因为QWidgets不适合在任何线程中使用,只能在GUI线程中使用。

我认为延迟是因为每个调用都复制了图标,因为QActionQIcon存储为一个值。

相关的行是这里。有趣的是,在我的程序中的另一个地方,setIcon被调用了,而且它只慢了一次,不知怎么的,它被缓存在每个后续调用(这里)中。

有什么建议吗?我已经试过了我能想到的一切。

EN

回答 1

Stack Overflow用户

发布于 2022-01-18 01:32:34

查看QPixmapCache并将您的图标存储在像素地图中。从一个QIcon构建一个QPixmap非常简单。看看这个QIcon构造函数。您可以将QPixmap放在那里,因为构造函数无论如何都是隐式的。这应该会加快速度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70748217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档