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.