Здравствуйте, Zhendos, Вы писали:
M>>Да, Qt оставляет возможность обрабатывать системно-зависимые события. И?
Z>Словосочетание "системно-зависимые" здесь лишнее.
Не лишнее.
Z>Если я напишу что-нибудь типа
Z>Z>bool event(QEvent *e) override
Z>{
Z>if (e->type() == QEvent::MouseButtonPress)
Z>}
Z>
Z>или
Z>Z>void mousePressEvent(QMouseEvent *event) override
Z>
Это не WM_KEYPRESS или WM_MOUSEMOVE. Это Qtшные события.
Z>то этот код будет работать и на mac os, и на linux/x11, и на windows,
Z>и даже на android устройстве без мышки.
Z>Это системно независимый код. И именно так предполагается обрабатывать события.
Ок.
Z>Механизм сигналов/слотов использует event loop/event queue только в случаях
Z>когда объект делающий "emit signal" и объект, который подключился к этому сигналу
Z>в принадлежат разным потокам и использован QueuedConnection тип соединения.
Приложение без потоков, кроме основного. event-loop'а нет?
В многопоточном приложении еще проще, да?
ЗЫ Чего вы все прикопались к моему вольному описанию системы Qt-шных событий? Я привел его только как один из известных мне вариантов организации взаимодействия изолированных друг от друга частей софтины, когда, например, клавиатура просто генерирует события нажатия клавиш, а в разном прикладном коде эти нажатия клавиш требуется обрабатывать по-разному.