В чем разница между обработчиком событий Qt и улучшенным io_service ASIO?

Оба являются асинхронными обработчиками событий с циклом событий. Это главная линия.

В Qt цикл обработки событий начинается с QApplication::exec(), а с io_service начинается с io_service::run(), Мой вопрос после этого. Что я могу достичь в Qt, а не в io_service и наоборот? Каковы ограничения? Когда предпочтительнее (игнорируя графический интерфейс Qt)?

Более неважная информация: что вызвало у меня этот вопрос является то, что я тестировал некоторые программы на C ++ Qt, где у меня есть логика моего GUI в классе, полученном из QObject, В целях тестирования я искал способы отправки функций (как в io_service) в обработчик событий Qt (так, в обход QObject::connect() вещь для простоты), но потом понял, что единственная функция публикации QApplication::postEvent();принимает только события Qt в качестве параметров; не функции, функторы или лямбды! Я не спрашивал об этом, потому что это очевидно XY проблема, и я все еще работаю над этим.

1

Решение

Задача ещё не решена.

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

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

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