Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 24, 2011 16:59:29

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

Не хочет в ХР работать “<MouseWheel>”. Не хочет вообще. Ошибку названия метода не выдает и не работает вообще.
Может кто сталкивался. Помогите. Возможно проблема именно в ХР?

Листинг (для примера):

import Tkinter

a = Tkinter.Tk()

def Dek(event):
print "%s" % event.delta

Listbox = Tkinter.Listbox(a)
Scroll = Tkinter.Scrollbar(a)
Listbox ["yscrollcommand"] = Scroll.set
for i in range(15):
Listbox.insert("end", i)

Listbox.bind("<MouseWheel>", Dek)
Listbox.pack(side = "left")

Scroll ["command"] = Listbox.yview
Scroll.pack(side = "left")

a.mainloop()
Не выдает вообще ничего. Все остальные методы “Button”, “Triple-Button” и другие работают безсбойно. Даже если заместо print прописать
а = 12, все равно не работает. Заранее благодарен.



Отредактировано (Фев. 24, 2011 17:01:23)

Офлайн

#2 Март 3, 2011 21:15:24

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

М-да. Никто видно не сталкивался с такой проблемой. Ладно. Пусть пользователь крутит списки прокруткой - не умрет.



Офлайн

#3 Март 3, 2011 22:14:26

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

.bind_all("<MouseWheel>", func= )



Отредактировано (Март 3, 2011 22:38:32)

Офлайн

#4 Март 7, 2011 17:06:43

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

Спасибо большое. Сегодня попробую обязательно.
Блин, уже не знал, что делать.



Офлайн

#5 Март 7, 2011 17:41:24

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

.bind_all(“<MouseWheel>”, func= ) в отличии от bind генерирует события на всех виджетах, а не только к которому применен.
На Listbox работает если только нажать на колесико мышки и крутить, непонятно почему…
Но если добавить Text, то работает нормально.



Офлайн

#6 Март 7, 2011 18:54:31

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

В смысле добавить Text? Что Вы имеете ввиду?



Офлайн

#7 Март 8, 2011 14:09:53

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Вопрос по MouseWheel в Tkinter

Вопрос в фокусе. Ставим фокус на элемент и всё работает. bind_all решает проблему косвенно, но решение оправдано.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version