【发布时间】:2009-05-28 22:10:59
【问题描述】:
我正在编写我的第一个真正有用的软件。其中一部分将涉及用户查看图像,并选择接受或拒绝它。这样做会导致图像被保存到接受或拒绝的文件夹中,并且可能会旋转和/或调整大小。
目前,我的旋转/调整大小/保存操作正在暂停执行我的程序,但我希望它在后台发生,以便立即显示下一张图像。
是在 Qt 中执行此操作以在单独的线程中处理图像的唯一方法,还是有其他方法?我还在研究 C++ 和 Qt,所以我不想因为潜入一个新领域而迷惑自己!
【问题讨论】:
-
一句警告。您不能在 GUI 线程之外使用 QPixmap。我最近被这个类似线程图像渲染类型的应用程序咬住了。请改用 QImage。如果你真的需要一个 QPixmap(我确实需要),你必须从线程返回一个 QImage 并在主 GUI 线程中进行转换(这非常昂贵)。
标签: c++ multithreading qt concurrency