Найти - Пользователи
Полная версия: Как создать событие при удерживании левой клавиши мышки
Начало » GUI » Как создать событие при удерживании левой клавиши мышки
1
miry
У меня есть проблема. В некоторых языках или фреймворках есть такое событие которое вызывает функцию, каждый раз пока нажата клавиша мышки или клавиатуры. Для wxPython (wxWidgets) есть такое событие как EVT_CHAR и EVT_MOTION. Они почти удовлетворяют моих условий, но у каждой свои пробелы.
EVT_CHAR только для клавиатуры.
EVT_MOTION только при движении.

Мои решения:
1) При нажатии запускать параллельный поток, который через определенный интервал выполняет действие, пока флажок стоит в состоянии True. При LEFT_UP сбрасывает флажок и при этом должен закончится цикл и закрыть поток. Все хорошо. Поток крутится и может выдовать всякие сообщения. Но если я в потоке создам событие, то иногда вылетает Exception.

2) Другой вариант - это вызов рекуретно события LEFT_DOWN. Просто еще не реализовал.

Прошу Ваши советы по решению данной задачи.
Андрей Светлов
Запускай из своего потока событие через wx.CallLater. Будет исполняться в главном потоке.
miry
Андрей Светлов
Запускай из своего потока событие через wx.CallLater. Будет исполняться в главном потоке.
Да, это то что я искал. Знакомился с CallAfter и он мне не помого, а вот с CallLater не догадалси. Thanks.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB