TUTORIAL · Tkinter
Tkinter Tutorial - Scrollbar
Dieses Tutorial führt die Scrollbar in Python Tkinter ein.
Auf dieser Seite
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.