1

如何从工作线程调用update()而不QQuickItem引起以下警告?

Updates can only be scheduled from GUI thread or from QQuickItem::updatePaintNode()

我要强制QQuickItem::updatePaintNode()执行。

QObject::connect我尝试了将工作线程中的 a挂接到调用MyQQuickItem->update(). 一切正常QQuickItem::updatePaintNode()在信号发出后调用,并以我想要的方式QQuickItem更新。但是我在安排的每个更新调用中都会收到此警告,我理解这是因为您无法从工作线程更新 UI。但是在 Qt 中没有警告的情况下这样做的方法是什么?

但是,我怎样才能摆脱每次更新调用时收到的警告?

注意:我必须QObject::connect使用 a 来制作 a ,Qt::DirectConnection因为 aQt::QueuedConnection不能通过信号调用 update 。

通过这里的讨论进行了检查。此链接中的讨论以抱怨我来到这里的相同警告结束。我的问题是我应该纠正什么以避免该警告?

4

0 回答 0