Kapitel 19
Komplexe Benutzungsoberflächen
542
Das folgende Skript illustriert die Verwendung der wrap-Option. In Zeile #1 wird der
Umbruch so eingestellt, wie man es von Texteditoren gewohnt ist, nämlich nach dem letzten
Wort, das in die Zeile passt – und nicht etwa mitten im Wort. Abbildung 19.1 zeigt das Aus-
sehen bei unterschiedlichen Fensterformaten.
Abb. 19.1: Text-Widget in Fenstern unterschiedlicher Größe
19.1.1 Methoden der Text-Widgets
Die Klasse Text ist sehr mächtig. Sie enthält im Grunde bereits alle Methoden eines kom-
plexen Texteditors, mit dem man z.B. auch Textabschnitte markieren und formatieren oder
Bilder einbinden kann. Von den vielfältigen Möglichkeiten werde ich aus Platzgründen in
diesem Kapitel nur einige wenige ansprechen. Die Methoden, die wir benötigen, sind in
Tabelle 19.2 zusammengestellt.
# editor1.pyw
from tkinter import *
class Editor:
def __init__ (self):
self.fenster = Tk()
self.fenster.title("Texteditor Nr. 1")
self.text = Text(self.fenster,
width=40, height=20,
wr a p=W O R D , #1
font=('Arial', 10))
se l f .te x t.pa c k()
self.fenster.mainloop()
editor = Editor()
543
19.1
Text-Widgets
Die Text-Methoden verwenden Indexe als Argumente. Ein Index ist ein String, der eine Posi-
tion in einem Text-Widget spezifiziert. Tabelle 19.3 zeigt einige Formate, die verwendet wer-
den können. Die großgeschriebenen Konstanten bezeichnen spezielle Indexe, die vom
System zur Laufzeit ständig aktualisiert werden. Abbildung 19.2 illustriert anhand einiger
Beispiele die Verwendung von Text-Methoden.
Abb. 19.2: Aufruf von Text-Methoden mit verschiedenen Indexformaten
Methode Erklärung
delete(index1[,index2])
Löscht das Zeichen an Position index1, falls nur ein
Index angegeben wird. Sonst wird der gesamte Bereich
von
index1 bis einschließlich index2 gelöscht.
get(index1[,index2])
Gibt den Text des Widgets von Position index1 bis ein-
schließlich
index2 als String zurück. Falls das zweite
Argument weggelassen wird, wird das Zeichen an der
Position
index1 zurückgegeben.
insert(index, text)
Fügt an der Stelle index Text ein.
see(index)
Der Text wird so weit gescrollt, bis die Stelle index sicht-
bar ist.
Tabelle 19.2: Einige wichtige Methoden der Klasse Text
text.insert(INSERT,
'Taschenlampe')
text.delete('2.0', '3.end')
for i in [1,2,3,4]:
text.insert(END,
str(i)+'. \n')
text.insert('1.end', 'Zelt')

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.