Post by DustanI'm trying to get a scrollbar bound with a Frame, and I keep on getting
a scrollbar, but it doesn't actually scroll. Some help, please?
It can be tricky getting an empty frame to scroll, can you post your
example code so that we might be more helpful. Here is an example of
binding a scroll bar to a Text widget (not exactly the same thing)
It's not an empty frame. It has a label. I was trying to do it with
just the label, but it didn't work, and I figured it might be a better
idea to try doing it with a frame instead.
## import all names from Tkinter
## bit naughty but I don't mind
from Tkinter import *
# root window
root=Tk()
# text area
text=Text()
text.pack(side="left", expand="yes", fill="both")
# scrolbar for above textarea
sb = Scrollbar(root)
sb.pack(side="right", fill="y")
## bind them both together...
# this line binds the yscrollcommand
# of the text area to the scrollbar set method
text['yscrollcommand'] = sb.set
# this line binds the scrollbars command to
# the yview method of the text area
sb['command'] = text.yview
# mainloop entry
root.mainloop()
That doesn't help. I need to be able to do it either with a frame (has
content!) or a Text widget.
Perhaps I am not understanding something... can you please show me an
example of what is not working. I consider the above a good recipe that
can be applied to any scrollable widget in Tkinter.
hmm, a single change to my example (Text to Frame) produces this
traceback:-
Post by DustanC:/python24/python -u "quicksb.py"
Traceback (most recent call last):
File "quicksb.py", line 17, in ?
text['yscrollcommand'] = sb.set
File "C:\python24\lib\lib-tk\Tkinter.py", line 1146, in __setitem__
self.configure({key: value})
File "C:\python24\lib\lib-tk\Tkinter.py", line 1139, in configure
return self._configure('configure', cnf, kw)
File "C:\python24\lib\lib-tk\Tkinter.py", line 1130, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-yscrollcommand"
and another change (Frame to Label) produces this traceback:-
Post by DustanC:/python24/python -u "quicksb.py"
Traceback (most recent call last):
File "quicksb.py", line 17, in ?
text['yscrollcommand'] = sb.set
File "C:\python24\lib\lib-tk\Tkinter.py", line 1146, in __setitem__
self.configure({key: value})
File "C:\python24\lib\lib-tk\Tkinter.py", line 1139, in configure
return self._configure('configure', cnf, kw)
File "C:\python24\lib\lib-tk\Tkinter.py", line 1130, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-yscrollcommand"
This would suggest that the Frame and Label widgets are not scrollable
(at least not in the 'y' direction)
Cheers
Martin