Приложение Qt с несколькими потоками

У меня есть приложение QT.

У меня есть нить thread1), который показывает мое основное окно (так что это отличается от основного потока).

У меня также есть свой собственный поток (например, thread2) должен уведомить поток1 об обновлении моего графического интерфейса.
Есть быстрый способ сделать это?
Например: thread2 может решить обновить изображение: поэтому он должен уведомить thread1 о выполнении метода. changeImage(),

Если я запускаю этот метод непосредственно из thread2, мое приложение будет иметь сбой.
Я должен использовать pthread.

0

Решение

Только основной поток должен обновлять графический интерфейс (для ограничений, связанных с графическими системами).

Тем не менее, Qt имеет расширенную поддержку потоков, допускаемую соединениями сигнальных слотов между потоками. Фактически, другие потоки должны уведомлять основной поток, используя сигналы (emit my_signal() увидеть http://qt-project.org/doc/qt-4.8/signalsandslots.html) или используя QCoreApplication::postEvent( http://qt-project.org/doc/qt-4.8/qcoreapplication.html#postEvent-2 )

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector