Kapitel 19
Komplexe Benutzungsoberflächen
544
19.2 Rollbalken (Scrollbars)
Text-Widgets und Canvas-Widgets können größer sein als der Ausschnitt, den man auf dem
Bildschirm sieht. Der sichtbare Ausschnitt kann mithilfe von Rollbalken (Scrollbars) ver-
schoben werden (siehe Abbildung 19.3).
Abb. 19.3: Text-Widget (konstanter Größe) in einem Fenster mit Scrollbar
Ein Rollbalken besteht aus folgenden Komponenten:
Ein Schieber (slider), der mit der Maus bewegt werden kann und dabei den sichtbaren
Ausschnitt verschiebt
Zwei dreieckige Pfeilspitzen. Klickt man darauf, so verschiebt sich der sichtbare Bereich
langsam in der angegebenen Richtung.
Eine Rinne (trough), über die sich der Schieber bewegt
Format Erklärung
'zeile.spalte'
Die Zeilennummerierung beginnt bei 1 und die Spalten-
nummerierung bei 0. Beispiele:
'1.0' ist der Index des
ersten Zeichens im Text,
'3.2' ist das dritte Zeichen in
der dritten Zeile.
'zeile.end'
Index des letzten Zeichens in einer Zeile (vor dem Zeilen-
wechselzeichen
\n)
INSERT
Konstante mit der Position des Einfügecursors
CURRENT
Der Index des Zeichens, das sich am nächsten an der aktu-
ellen Position des Mauszeigers befindet
END
Der Index des letzten Zeichens im Text-Widget
Tabelle 19.3: Formate für Indexe
Slider
Trough
545
19.2
Rollbalken (Scrollbars)
Von der Logik her gehört ein Scrollbar zu einem Fenster (Tk-Widget). Er wird deshalb als
Sklave eines Tk-Widgets durch einen Aufruf des folgenden Formats eingefügt:
In Tabelle 19.4 sind die wichtigsten Optionen erklärt.
Im folgenden Skript wird unser Miniatur-Texteditor um einen senkrechten Rollbalken
erweitert. Dabei wird illustriert, wie man ein Text-Widget mit einem Scrollbar verknüpft. Die
Verknüpfung geschieht in zwei »Richtungen« – sowohl der Scrollbar als auch das Text-Wid-
get müssen auf bestimmte Weise konfiguriert werden. Die gleiche Vorgehensweise gilt übri-
gens auch für Canvas-Widgets.
Skript:
Scrollbar(master [,option1=wert1 ...])
Option Erklärung
command
Name der Prozedur, die aufgerufen wird, wenn der Scrollbar bewegt
wird
jump
Mögliche Werte: 0, 1. Bei jump=0 (Default) wird die command-Proze-
dur bei jeder Bewegung des Sliders aufgerufen; sonst erst dann, wenn
die Maustaste nach einer Bewegung wieder losgelassen worden ist.
orient
Gibt die räumliche Orientierung des Scrollbars an (waagrecht oder
senkrecht). Mögliche Werte sind
HORIZONTAL, VERTICAL. Vorein-
gestellt ist
VERTICAL.
Tabelle 19.4: Einige spezielle Optionen der Klasse Scrollbar
# editor2.pyw
from tkinter import *
class Editor:
def __init__ (self):
self.fenster = Tk()
self.fenster.title("Texteditor Nr. 1")
self.scrollbar = Scrollbar(self.fenster) #1
self.scrollbar.pack(side =RIGHT, fill=Y) #2
self.text = Text(self.fenster,
width=24, height=10,
wrap=WORD, font=('Arial', 10),
yscrollcommand=self.scrollbar.set) #3
self.text.pack()
self.scrollbar.config(command=self.text.yview) #4
self.fenster.mainloop()
editor = Editor()

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.