gpt4 book ai didi

c++ - QPixmap 是可重入的吗?

转载 作者:行者123 更新时间:2023-11-28 02:30:13 26 4
gpt4 key购买 nike

我有一个程序需要加载很多 QPixmaps。我使用 QtConcurrent::mappedReduced 将像素图的加载分成几个作业(我实际上加载了一堆 QGraphicPixmapItem s)。加载函数调用 QPixmap 的构造函数s/QGraphicItem s,它不会尝试执行任何绘图,并且在加载完成之前不会与世界其他地方通信(至少通过我的代码)。

我在初始化期间遇到了一些随机崩溃(比如 1% 的次数),并且 helgrind 提示无人看管的访问 QApplication来自 QPixmap和主事件循环,但众所周知,Qt 互斥体通常不能与 valgrind 很好地混合,因此它可能是误报。

像往常一样,Qt 文档对于 QPixmap可重入与否,这基本上是我的问题。

最佳答案

好吧,当你遇到崩溃时,你会问是否还好?你已经知道答案了。这不行。

我在这里看到的唯一问题是它是否是 Qt 错误。不,不是。

如果你想加载很多像素图,将它们加载到QImages中,然后将它们转换成后备存储格式。如今,在图像上使用像素图并没有带来太多好处。只要图像与小部件的后备存储具有相同的格式(转换为 QImage),您就会获得相同的性能。当 Qt 仍然使用本地绘画时,QPixmap 的区别就有意义了。在 Windows 和 OS X 上,像素图只是格式正确的 QImage

关于c++ - QPixmap 是可重入的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com