Tkinter tutorial - schuifbalk

  1. Tkinter ScrollBar
  2. Tkinter horizontale schuifbalk

De Tkinter-schuifbalkwidget wordt normaal gebruikt om door widgets te bladeren zoals ListBox , Text of Canvas verticaal, of Entry horizontaal. Het toont een schuifregelaar in de juiste positie.

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()  

Tkinter Scrollbar Basic

self.scrollbar = tk.Scrollbar(self.window)

Het initieert de Scrollbar instantie.

self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
.
.
self.scrollbar.config(command=self.listbox.yview)

We moeten beide configureren Listbox en Scrollbar ze op de juiste manier met elkaar verbinden.

  1. yscrollcommand Terugbellen instellen op set van Scrollbar . yscrollcommand is de optie voor schuifbare widgets die wordt bestuurd door een schuifbalk en wordt gebruikt om te communiceren met verticale schuifbalken.
  2. Set command van de Scrollbar tot de yview van de Listbox . Wanneer de gebruiker de schuifregelaar van verplaatst Scrollbar , roept deze de yview methode aan met het juiste argument.

Tkinter horizontale schuifbalk

De horizontale schuifbalk wordt gebruikt om de widgets schuiven zoals Text en Entry in horizontale richting.

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()  

Tkinter-schuifbalk Horizontaal

self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)

Het initieert een horizontale schuifbalk door het te specificeren orient op te geven HORIZONTAL.

self.text = tk.Text(self.window,
                            wrap = "none",
                            xscrollcommand=self.scrollbar.set)

Om de tekst horizontaal te schuiven, moeten we xscrollcommand de set methode van de instellen Scrollbar , maar niet yscrollcommand zoals in het bovenstaande voorbeeld.

self.scrollbar.config(command=self.text.xview)

Dienovereenkomstig moet het callback van de horizontale schuifbalk wel met de xview methode worden verbonden , maar niet yview.