Модераторы: pythonwin, Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка событий клавиатуры, Задержка после первого нажатия на клавиш 
:(
    Опции темы
Borundel
  Дата 26.1.2019, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.1.2019

Репутация: нет
Всего: нет



Мне нужно как-то убрать задержку после первого нажатия на клавишу, но я не знаю как, помогите пожалуйста smile 

Код

import wx

import threading
import time


class GameWindow(wx.App):

    class __DrawThread(threading.Thread):

        def __init__(self, redraw_win):

            threading.Thread.__init__(self)
            self.stopped = False

            self.redraw_win = redraw_win

            self.start()

        def run(self):

            while self.stopped is not True:

                self.repaint()
                time.sleep(0.01)

        def repaint(self):

            dc = wx.ClientDC(self.redraw_win)
            dc.Clear()

    class __ComponentUpdateThread(threading.Thread):

        def __init__(self):

            threading.Thread.__init__(self)

            self.stopped = False

            self.start()

        def run(self):

            pass

    class __EvtHandlerThread(threading.Thread):

        def __init__(self, panel):

            threading.Thread.__init__(self)

            self.stopped = False
            self.panel = panel

            self.start()

        def run(self):

            self.panel.Bind(wx.EVT_KEY_DOWN, self.on_keyboard_down)

        def on_keyboard_down(self, e):

            print (e.GetKeyCode())

            self.panel.Unbind(wx.EVT_KEY_DOWN)
            self.panel.Bind(wx.EVT_KEY_DOWN, self.on_keyboard_down)

    def __init__(self, title="Lucky Project", size=(600, 600)):

        wx.App.__init__(self)

        self.__frame__ = wx.Frame(parent=None, title=title, size=size)

        self.__panel__ = wx.Panel(parent=self.__frame__)

        self.__frame__.Bind(wx.EVT_CLOSE, self.__on_close)

        self.__frame__.Center()
        self.__frame__.Show()

        self.__repaint_thread = self.__DrawThread(self.__panel__)
        self.__component_update_thread = self.__ComponentUpdateThread()
        self.__evt_handler_thread = self.__EvtHandlerThread(self.__panel__)

        self.MainLoop()

    def __on_close(self, e):

        self.__frame__.Destroy()

        self.__repaint_thread.stopped = True
        self.__component_update_thread.stopped = True
        self.__evt_handler_thread.stopped = True


win = GameWindow()

PM MAIL   Вверх
Romikgy
Дата 28.1.2019, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7280
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 144



Цитата(Borundel @  26.1.2019,  19:50 Найти цитируемый пост)
        def run(self):
            self.panel.Bind(wx.EVT_KEY_DOWN, self.on_keyboard_down)
        def on_keyboard_down(self, e):
            print (e.GetKeyCode())
            self.panel.Unbind(wx.EVT_KEY_DOWN)
            self.panel.Bind(wx.EVT_KEY_DOWN, self.on_keyboard_down)

для чего это все???



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Borundel
Дата 28.1.2019, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.1.2019

Репутация: нет
Всего: нет



Цитата(Romikgy @ 28.1.2019,  10:13)
Цитата(Borundel @  26.1.2019,  19:50 Найти цитируемый пост)
        def run(self):
            self.panel.Bind(wx.EVT_KEY_DOWN, self.on_keyboard_down)
        def on_keyboard_down(self, e):
            print (e.GetKeyCode())
            self.panel.Unbind(wx.EVT_KEY_DOWN)
            self.panel.Bind(wx.EVT_KEY_DOWN, self.on_keyboard_down)

для чего это все???

Это я пытался что-то сделать smile

PM MAIL   Вверх
Romikgy
Дата 28.1.2019, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7280
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 2
Всего: 144



так я и спрашиваю что пытались ? 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Borundel
Дата 29.1.2019, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.1.2019

Репутация: нет
Всего: нет



Я же говорил, мне нужно как-то убрать задержку после первого нажатия клавиши, это и пытался
PM MAIL   Вверх
Google
  Дата 20.11.2019, 01:53 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Разработка GUI | Следующая тема »


 




[ Время генерации скрипта: 0.0668 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.