Text-Komponente ist ein Gui-Element (Widget),
mit dem man einen mehrzeiligen Text eingeben und anzeigen kann.width Breite in Buchstaben height Höhe in Zeilen state kann NORMAL oder DISABLED sein.undo Wenn diese Option auf True gesetzt wird kann man mit STRG+Z rückgängig und mit wiederherstellen machenwrap Steuert den Umbruch, falls eine Zeile über den rechten Rand hinausragt.
NONE Kein UmbruchWORD Umbruch an Wortgrenzen (wenn ein Wort zu lang ist auch innerhalb)CHAR Umbruch vor dem Buchstaben, der über den Rand ragen würde.xscrollcommand Wenn man Scrollbalken verwendet, muss der horizontale Scrollbar hier angegeben werden yscrollcommand Wenn man Scrollbalken verwendet, muss der vertikale Scrollbar hier angegeben werden get(start, ende)
Liefert den Text zwischen start und ende zurück (ende ist optional)."Zeile.Spalte" angegeben werden.end verwendet werden (für Zeilenenden oder das Textende).
delete(start, ende) Löscht den Text zwischen start und ende.
insert(pos, string)
Fügt an der Position pos den Text s ein."end" oder "Zeile.Spalte" eingegeben
set(...) existiert nicht, hier muss man zuerst mit delete("1.0")
den kompletten Text löschen und dann mit insert("1.0", s) einfügen.
edit_undo()
Macht die letzte Veränderung des Textes rückgängig.
edit_redo()
Stellt die zuletzt rückgängig gemachte Veränderung wieder her.
from tkinter import *
class Fenster(Tk):
def __init__(self):
Tk.__init__(self)
self.option_add("*Font", "aerial 20")
self.t = Text(self, width=10, height=4, wrap=NONE)
self.t.pack()
self.b = Button(self, text="drück drauf", command=self.click)
self.b.pack()
def click(self): # gibt den Text aus
print(self.t.get("1.0", END))
f = Fenster()
f.mainloop()
Text-Widgets, sind Scrollbalken hilfreich.Text-Widget bringt diese jedoch nicht mit,
sondern es müssen zwei Scrollbar-Widgets erzeugt werden.
Scrollbar
Objekte erzeugen. Eins mit der Option
orient="horizontal"
und eins mit der Option
orient="vertical"
Text Objekt erzeugen
mit den Optionen
xscrollcommand=scrollx.set beziehungsweise
yscrollcommand=scrolly.setscrollx.config(command=self.t.xview) und
scrolly.config(command=self.t.yview)scrollx, scrolly die Scrollbars und self.t das Text-Widget sind.
class Fenster(Tk):
def __init__(self):
Tk.__init__(self)
self.option_add("*Font", "aerial 20")
scrollx = Scrollbar(self, orient="horizontal")
scrolly = Scrollbar(self, orient="vertical")
self.t = Text(self, width=10, height=4, wrap=NONE,
xscrollcommand=scrollx.set,
yscrollcommand=scrolly.set
)
scrollx.config(command=self.t.xview)
scrolly.config(command=self.t.yview)
scrolly.pack(fill="y", side=RIGHT)
self.t.pack()
scrollx.pack(fill="x", side=TOP)