N
Nicholas Shewmaker
(I apologize if this posts twice. My AVG is being fussy.)
From what I've read, MouseWheel is a very tricky event. I have
replaced my Python tcl84.dll and tk84.dll files with those in the
ActiveTcl distribution to fix the crashes caused by the event. Then, I
managed to see that my test script (see code below) was registering the
event by printing the delta value (+/- 120).
-----------------
from Tkinter import *
def reportScroll(event):
print "scrolled", event.delta, event
root = Tk()
myListbox = Listbox(root, selectmode=SINGLE, height=10, width=20)
for x in range(30):
myListbox.insert(END, x)
myListbox.pack(side=LEFT, expand=YES, fill=BOTH)
myScrollbar = Scrollbar(root, command=myListbox.yview)
myScrollbar.bind('<MouseWheel>', reportScroll)
myScrollbar.focus_set()
myScrollbar.pack(side=RIGHT, fill=Y)
myListbox.config(yscrollcommand=myScrollbar.set)
root.mainloop()
-----------------
The scrollbar and listbox are tied together, but moving the wheelmouse
does nothing. I realize the code above doesn't give the event any real
duties, but I'm not really sure how to make that leap. How and to what
do I bind <WheelMouse> so that it will affect the listbox and the scrollbar?
From what I've read, MouseWheel is a very tricky event. I have
replaced my Python tcl84.dll and tk84.dll files with those in the
ActiveTcl distribution to fix the crashes caused by the event. Then, I
managed to see that my test script (see code below) was registering the
event by printing the delta value (+/- 120).
-----------------
from Tkinter import *
def reportScroll(event):
print "scrolled", event.delta, event
root = Tk()
myListbox = Listbox(root, selectmode=SINGLE, height=10, width=20)
for x in range(30):
myListbox.insert(END, x)
myListbox.pack(side=LEFT, expand=YES, fill=BOTH)
myScrollbar = Scrollbar(root, command=myListbox.yview)
myScrollbar.bind('<MouseWheel>', reportScroll)
myScrollbar.focus_set()
myScrollbar.pack(side=RIGHT, fill=Y)
myListbox.config(yscrollcommand=myScrollbar.set)
root.mainloop()
-----------------
The scrollbar and listbox are tied together, but moving the wheelmouse
does nothing. I realize the code above doesn't give the event any real
duties, but I'm not really sure how to make that leap. How and to what
do I bind <WheelMouse> so that it will affect the listbox and the scrollbar?