Re[4]: Обработка сообщений и всё такое
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.08.18 00:35
Оценка: +1
Здравствуйте, 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-шных событий? Я привел его только как один из известных мне вариантов организации взаимодействия изолированных друг от друга частей софтины, когда, например, клавиатура просто генерирует события нажатия клавиш, а в разном прикладном коде эти нажатия клавиш требуется обрабатывать по-разному.
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.