2016-08-05 25 views
0

Ich versuche, eine GUI für ein Python-Skript mit Tkinter zu erstellen, und habe eine funktionierende Bildlaufleiste. Die Position der 'Leiste' wird jedoch nicht aktualisiert, wenn ich die Leiste scrolle oder ziehe. Ich denke, dass der relevante Teil des Codes ist wie folgt:Wie aktualisiere ich Scrollbar-Position mit Tkinter

#Setup window with text and scrollbar  
root = Tk() 
scrollbar = Scrollbar(root) 
app = App(root) 
t = Text(root) 

#GRID manager layout 
t.grid(row = 0, column = 1, sticky=N+S+W, padx = 5, pady = 5) 
scrollbar.grid(row = 0, column = 2, sticky=N+S+W,) 

scrollbar.config(command = t.yview) 

ich für Mittel gesucht haben versucht, dieses Problem zu beheben, aber kann nicht scheinen, um herauszufinden, was ich falsch mache. Jede Hilfe würde wirklich geschätzt werden. Ich entschuldige mich, wenn ich nicht genug Code beigefügt habe, wenn Sie mehr möchten, oder um das gesamte Skript zu sehen (obwohl es 100 Zeilen ist) würde ich gerne zu verpflichten.

Nochmals vielen Dank für Ihre Zeit.

Antwort

2

Sie sollten es dem .yview einer Leinwand zeigen, und setzen Sie den Text in die Leinwand

the_window = Tk() 

vscrollbar = Scrollbar(the_window) 
vscrollbar.grid(...) 

the_canvas = Canvas(
    the_window, 
    background = 'white', 
    yscrollcommand = vscrollbar.set 
) 
the_canvas.grid(...) 

vscrollbar.config(command=the_canvas.yview) 
+0

Ihnen sehr für Ihre Antwort und anschauliches Beispiel Danke, Mike. –