Как нарисовать содержимое в многопоточности, используя qt? - PullRequest
1 голос
/ 26 января 2010

Я хочу рисовать содержимое в многопоточном приложении, используя qt.

Qt работает в главном потоке. У меня есть поток B для генерации задач рисования и отправки задач в основной поток qt. В настоящее время я вызываю «mywidget.update» в потоке B, «mywidget.paintEvent (..)» будет запущен в основном потоке.

Моя проблема в том, что я не могу передать какие-либо собственные данные в «mywidget.paintEvent (..)» с помощью метода update. В настоящее время я использую очередь для хранения данных, хочу рисовать и читать их из paintEvent. Но я должен синхронизировать эту очередь.

Есть ли лучший способ? Например, регистрация собственного события рисования. Буду очень признателен, если кто-то выложит простой пример или несколько ссылок.

1 Ответ

3 голосов
/ 26 января 2010

Я сам не читал эту статью в полном объеме, но из названия кажется, что вы можете найти там некоторые идеи:

http://blog.qt.io/blog/2010/01/21/qt-graphics-and-performance-generating-content-in-threads/

Приветствие.

...