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
yscrollcommand
Rückruf aufset
vonScrollbar
.yscrollcommand
ist eine scrollbare Widget-Option, die durch einen Scrollbar gesteuert wird und zur Kommunikation mit vertikalen Scrollbars verwendet wird. - Setzen Sie
command
desScrollbars
auf dieAnsicht
derListbox
. Wenn der Benutzer den Schieberegler desScrollbars
bewegt, 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