roll_pages=2 current_roll_page=[1] def move_right(event): if current_roll_page[0]!=roll_pages: f=open('db','r') lenght=len(f.readlines()) if (ceil(lenght/20)): for j in range(int(con.roll_width/10)): for i in range(1,41): roll.update() roll.move(i,-10,0) sleep(0.002) current_roll_page[0]+=1 print(current_roll_page[0]) return current_roll_page[0] root.bind('<Left>',move_right)
Холст с 20-ю строками (rectangke+text)
сдвигаю страницы:
roll_pages - кол-во страниц
current_roll_page - текущая страница (список) - потому что не знаю как вернуть значение из функции в событии bind по другому.
Жму вправо - 20 строк съезжают влево на ширину холста, все нормально, дальше не двигается так как current_roll_page становиться равно 2.
Но если я вдруг прокликаю несколько раз курсор ВПРАВО, в то время пока строки двигаются, скажем 4 раза, то функция и выполнится 4 раза и current_roll_page будет равен 5, то есть условие if current_roll_page!=roll_pages: в дальнейшем будет для меня бесполезным.
Как, нажав клавишу, запретить повторный нажим её-же по истечении определенного времени (в данном случае на время сдвига страницы 0.002*40) ?
Может есть функция принимающая значение - сколько раз нажата определенная клавиша?