Tkinter Tutorial - Scrollbar
Das Tkinter Scrollbar-Widget wird normalerweise verwendet, um Widgets wie ListBox, Text oder Canvas vertikal oder Entry horizontal zu scrollen. Es zeigt einen Schieberegler in der richtigen Position an.
Tkinter ScrollBar
import tkinter as tk
class Scrollbar_Example:
def __init__(self):
self.window = tk.Tk()
self.scrollbar = tk.Scrollbar(self.window)
self.scrollbar.pack(side="right", fill="y")
self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
for i in range(100):
self.listbox.insert("end", str(i))
self.listbox.pack(side="left", fill="both")
self.scrollbar.config(command=self.listbox.yview)
self.window.mainloop()
if __name__ == "__main__":
app = Scrollbar_Example()

self.scrollbar = tk.Scrollbar(self.window)
Es initiiert die Scrollbar-Instanz.
self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
self.scrollbar.config(command=self.listbox.yview)
Wir müssen sowohl die Listbox als auch die Scrollbar konfigurieren, um sie korrekt miteinander zu verbinden.
- Setzen Sie den
yscrollcommandRückruf aufsetvonScrollbar.yscrollcommandist eine scrollbare Widget-Option, die durch einen Scrollbar gesteuert wird und zur Kommunikation mit vertikalen Scrollbars verwendet wird. - Setzen Sie
commanddesScrollbarsauf dieAnsichtderListbox. Wenn der Benutzer den Schieberegler desScrollbarsbewegt, ruft er dieyview-Methode mit dem richtigen Argument auf.
Tkinter Horizontaler Scrollbar
Die horizontale Bildlaufleiste wird verwendet, um die Widgets wie Text und Eingabe in der horizontalen Ausrichtung zu scrollen.
import tkinter as tk
class Scrollbar_Example:
def __init__(self):
self.window = tk.Tk()
self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)
self.scrollbar.pack(side="bottom", fill="x")
self.text = tk.Text(self.window, wrap="none", xscrollcommand=self.scrollbar.set)
self.text.insert("end", str(dir(tk.Scrollbar)))
self.text.pack(side="top", fill="x")
self.scrollbar.config(command=self.text.xview)
self.window.mainloop()
if __name__ == "__main__":
app = Scrollbar_Example()

self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)
Er initiiert einen horizontalen Scrollbalken, indem er die orient als HORIZONTAL festlegt.
self.text = tk.Text(self.window, wrap="none", xscrollcommand=self.scrollbar.set)
Um den Text horizontal zu scrollen, muessen wir xscrollcommand auf die set Methode des Scrollbar setzen, aber nicht yscrollcommand wie im obigen Beispiel.
self.scrollbar.config(command=self.text.xview)
Entsprechend sollte der Callback des horizontalen Scrollbars mit der xview Methode verbunden werden, aber nicht yview.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook