如何在不导致以下警告的情况下从工作线程调用update()
QQuickItem
?
Updates can only be scheduled from GUI thread or from QQuickItem::updatePaintNode()
我想强制执行QQuickItem::updatePaintNode()
。
我尝试了将QObject::connect
从工作线程挂钩到调用MyQQuickItem->update()
的插槽的解决方案。 一切正常但。信号发出后调用QQuickItem::updatePaintNode()
& QQuickItem
以我想要的方式更新。但是我在每次更新调用时都会收到此警告,因为您无法从工作线程更新UI,因此我了解了哪些我理解。但是在没有Qt警告的情况下,这样做的方法是什么?
但是,我如何摆脱每次更新通话时发出的警告?
注意:我必须使用QObject::connect
生成Qt::DirectConnection
,因为Qt::QueuedConnection
无法通过信号调用更新。
已检查至this discussion here。在这个链接中的讨论结束时抱怨我来到这里的同样的警告。我的问题是我应该纠正什么来避免这种警告?