Форум сайта python.su
Не хочет в ХР работать “<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()
Отредактировано (Фев. 24, 2011 17:01:23)
Офлайн
М-да. Никто видно не сталкивался с такой проблемой. Ладно. Пусть пользователь крутит списки прокруткой - не умрет.
Офлайн
.bind_all("<MouseWheel>", func= )
Отредактировано (Март 3, 2011 22:38:32)
Офлайн
Спасибо большое. Сегодня попробую обязательно.
Блин, уже не знал, что делать.
Офлайн
.bind_all(“<MouseWheel>”, func= ) в отличии от bind генерирует события на всех виджетах, а не только к которому применен.
На Listbox работает если только нажать на колесико мышки и крутить, непонятно почему…
Но если добавить Text, то работает нормально.
Офлайн
В смысле добавить Text? Что Вы имеете ввиду?
Офлайн
Вопрос в фокусе. Ставим фокус на элемент и всё работает. bind_all решает проблему косвенно, но решение оправдано.
Офлайн