Как запустить процесс обработки событий Qt без блокировки?

Это мой сценарий: у меня есть dll (с Qt в бэкэнде и без запуска цикла событий). Я могу выполнить связь через слот-сигнал с-в этой DLL (есть только один поток). Я хотел бы использовать средства QFileSystemWatcher в этой DLL. Но похоже, что QFileSystemWatcher запускает свой собственный поток, и он не может связаться с моим основным потоком, так как нет процесса обработки событий.

Итак, в принципе мне нужен способ начать обработку событий без блокировки!

1

Решение

Итак, в принципе мне нужен способ начать обработку событий без блокировки!

Итак, в основном вы хотите использовать QEventLoop функции без использования QEventLoop на основе обсуждения комментариев. QEventLoop должен быть «блокирующим», по сути, для того, чтобы фактически иметь цикл обработки событий.

Вы всегда можете создать «блокирующий» поток с циклом событий внутри, но тогда ваше управление сигнальными слотами может быть привязано к этому конкретному потоку.

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

0

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

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

По вопросам рекламы [email protected]