我有一个主要的 GUI 类和另一个 Worker 类:第一个处理 GUI 事物(将 a 绘制QPixmap
到 a 中QGraphicsScene
),第二个处理计算事物(将QLine
s 和QPoint
s 绘制到 that 上QPixmap
)。这两个类在两个不同的线程中运行。当我创建Worker
线程时,我将 GUI 的地址传递QPixmap
给Worker
类,因此它们共享同一个对象。
在类QPixmap
中修改,在Worker
类中绘制GUI
。即使我没有任何问题,我还是决定使用 a来确保我的程序在绘制时QMutex
不会尝试访问。QPixmap
现在,为了做到这一点,我QMutex
在 GUI 类和类之间进行了共享Worker
(Worker
类又有一个指向 GUI 的指针QMutex
)。QPixmap
每当我阅读或修改QMutex
.
这是一种有效的方法吗?到目前为止,我从未遇到过错误,但我想知道它在逻辑上是否正确以及 Qt 是否提供了更好的方法来实现这一点。
先感谢您。