kl*******@web.de (klappnase) wrote in message news:<a7**************************@posting.google. com>...
jf****@paradise.net.nz (John Fouhy) wrote in message news:<c0**************************@posting.google. com>... So I've got a horizontal scale widget in my GUI. When I click the
mouse in the area to the right of the GUI, the scale advances by 1.
I want to change this, so it jumps by a larger amount (and likewise if
I click to the left of the slider).
Any clues?
You can address the part of the scale widget you clicked on with
event.x/event.y, so maybe something like this might do what you want
(untested):
var = IntVar()
var.set(0)
sb = Scrollbar(master, variable=var)
sb.bind('<1>', jump)
def jump(event):
if sb.identify(event.x, event.y) == 'trough1':
var.set(var.get()-5)
return 'break'
elif sb.identify(event.x, event.y) == 'trough2':
var.set(var.get()+5)
return 'break'
I hope this helps
Michael
I had an idea of doing something like that, but I didn't know about
the 'identify' function.
Also, I am using the Scale widget, not the Scrollbar widget, but it
seems Scale has that function too.
(I wish Tkinter had better documentation)
Anyawy, your solution worked perfectly :-)
Thanks a lot,
--
John.