Форум сайта python.su
У меня есть проблема. В некоторых языках или фреймворках есть такое событие которое вызывает функцию, каждый раз пока нажата клавиша мышки или клавиатуры. Для wxPython (wxWidgets) есть такое событие как EVT_CHAR и EVT_MOTION. Они почти удовлетворяют моих условий, но у каждой свои пробелы.
EVT_CHAR только для клавиатуры.
EVT_MOTION только при движении.
Мои решения:
1) При нажатии запускать параллельный поток, который через определенный интервал выполняет действие, пока флажок стоит в состоянии True. При LEFT_UP сбрасывает флажок и при этом должен закончится цикл и закрыть поток. Все хорошо. Поток крутится и может выдовать всякие сообщения. Но если я в потоке создам событие, то иногда вылетает Exception.
2) Другой вариант - это вызов рекуретно события LEFT_DOWN. Просто еще не реализовал.
Прошу Ваши советы по решению данной задачи.
Офлайн
Запускай из своего потока событие через wx.CallLater. Будет исполняться в главном потоке.
Офлайн
Андрей СветловДа, это то что я искал. Знакомился с CallAfter и он мне не помого, а вот с CallLater не догадалси. Thanks.
Запускай из своего потока событие через wx.CallLater. Будет исполняться в главном потоке.
Офлайн