Qt: Обновления могут быть запланированы только из потока GUI или из QQuickItem::updatePaintNode
Как можно позвонить update()
на QQuickItem
из рабочего потока, не вызывая следующее предупреждение?
Updates can only be scheduled from GUI thread or from QQuickItem::updatePaintNode()
Я хочу обеспечить QQuickItem::updatePaintNode()
выполнить.
Я пробовал решение зацепить QObject::connect
из рабочего потока в слот, который вызывает MyQQuickItem->update()
, Все работает хорошо, хотя. QQuickItem::updatePaintNode()
вызывается после того, как сигнал испустить QQuickItem
обновляется так, как я хочу. Но я получаю это предупреждение при каждом планируемом вызове обновления, который я понимаю, поскольку вы не можете обновить пользовательский интерфейс из рабочего потока. Но как это сделать без предупреждения в Qt?
НО, как я могу избавиться от предупреждения, которое я получаю при каждом вызове обновления?
Примечание: я должен был сделать QObject::connect
с Qt::DirectConnection
с Qt::QueuedConnection
не сработало для вызова update через сигнал.
Проверено через это обсуждение здесь. Обсуждение в этой ссылке заканчивается жалобой на то же предупреждение, которое я получаю здесь. Мой вопрос: что я должен исправить, чтобы избежать этого предупреждения?