Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша [RSS Feed]

#1 Окт. 18, 2014 19:29:27

Grig_iv
Зарегистрирован: 2014-09-22
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша

Использовал bind, но при нажатии движение было не равномерным.
Пытался использовать изменение while press:

def tank_stop(event):
    global flag
    falg = False
def tank_up(event):
    global flag
    
    flag = True
    
    while flag:
        root.after(100, t.move(0, -5))
        root.update()
        
cnvs.bind('<ButtonPress-1>', tank_up)
cnvs.bind('<ButtonRelease-1>', tank_stop)

Но while игнорировал изменение flag'a

Отредактировано Grig_iv (Окт. 18, 2014 19:29:56)

Офлайн

#2 Окт. 18, 2014 23:15:42

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша

Что значит “неравномерным”. Поясните.

Офлайн

#3 Окт. 18, 2014 23:31:23

Grig_iv
Зарегистрирован: 2014-09-22
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша

При нажатии обект перемешается на “move(0, -5)” сразу 1 раз, через пол секунды ещё, потом чере 1/4 сек еще и так далее. А надо что бы он без “разгона перемешался”

Офлайн

#4 Окт. 18, 2014 23:32:23

Grig_iv
Зарегистрирован: 2014-09-22
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша

Имеется в виду зажатая клавиша, а не одинарное нажатие

Офлайн

#5 Окт. 23, 2014 22:14:09

BorisVlasenko
От:
Зарегистрирован: 2010-02-01
Сообщения: 3
Репутация: +  0  -
Профиль   Адрес электронной почты  

Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша

Я в таком случае делал так: бесконечный цикл отрисовки, с обновлением и задержкой.
При нажатии клавиши и отпускании клавиши меняется значение переменной, которая проверяется в цикле.
http://progras.ru/igra-ping-pong-na-python/



С уважением, Борис (репетитор по информатике).

Офлайн

  • Начало
  • » GUI
  • » Tkinter.bind. Как заставить объект двигаться равномерно пока нажата клавиша[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version