Hi, On Tue, 15 Sep 2009 13:48:50 -0400 Bradley Hintze <bradle...@aggiemail.usu.edu> wrote:
> I am trying to make a scrollable canvas in the horizontal direction > but I am having a difficult time. I get the whole scroll bar and can > scroll using the arrows on the ends of the scroll bar but the actual > bar (the slider bar) takes up the whole scrollbar area as if there is > nothing to scroll. Thus, the slider bar cannot be used to scroll. (It > may be easier to understand if you just run the snipit of code) I am > wondering how I can fix this. > Here is my code: > > from Tkinter import * > from tkFileDialog import * > import os > class analyze_notes: > > def __init__(self): > string='' > for i in range(0,100):string=string+' '+str(i) > self.comp_1=Tk() > self.comp_1.title('Try') > l1=Label(self.comp_1, text='Try canvas').grid() > c1_xscroll=Scrollbar(self.comp_1, orient=HORIZONTAL) > c1_xscroll.grid(row=2, sticky=E+W+N) > c1=Canvas(self.comp_1, height=150, width=400, relief=SUNKEN, > xscrollcommand=c1_xscroll.set) > c1.grid(row=1) > c1_xscroll.config(command=c1.xview) > self.topic_label = Label(c1, text=string, font=('courier',10), > bg='white') > c1.create_window(0, 50, window=self.topic_label, anchor=NW) > self.comp_1.mainloop() > > r=analyze_notes() > You did not define the Canvases scrollregion; this must be a 4-tuple (x0, y0, x1, y1) defining the part of the canvas that should be accessible through the scrollbars. In your case it should be fine to add a line c1.configure(scrollregion=c1.bbox('all')) to your code right before the call to mainloop() . Please note that you might have to update the widget's scrollregion each time the canvases contents are changed. HTH Michael _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss