Ich möchte den Cursor an eine bestimmte Stelle innerhalb eines Textes in einem Text-Widget setzen. Die Stelle kann ich mittels Indizes definieren, kann dort z.B. weiteren Text einfügen, finde aber keine Möglichkeit, den Cursor auch an diese Stelle zu setzen, so dass der Anwender dann an dieser Stelle Text einfügen kann (ohne den Cursor vorher selbst an diese Stelle setzen zu müssen).
Selbst wenn man mittels .insert() dort ein Zeichen einfügt, bleibt der Cursor, wo er war.
Ich bin die Doku nun mehrfach gründlich durchgegangen (Referenzen von Shipman und Lundh), finde aber keinen Hinweis auf die Cursorpositionierung.
Bei den vielfältigen Möglichkeiten, die das Text-Widget sonst noch bietet (Marks, Tags usw.) kann ich mir aber nicht vorstellen, dass das nicht geht.
Cursor in Text-Widget positionieren
Code: Alles auswählen
import Tkinter as tk
root = tk.Tk()
text = tk.Text(root)
text.pack()
text.insert('end', 'Hallo\nHallo')
print text.index('insert')
text.mark_set('insert', '1.3')
print text.index('insert')
text.focus_set()
root.mainloop()
HWK
Danke HWK, genau das war's.
Dank deines Codes habe ich jetzt auch verstanden, was ich vorher nicht verstanden hatte:
Die Bedeutung der besonderen Marke "insert" war mir nicht bewusst; hatte ich zwar gelesen, aber nicht in dieser Weise verstanden.
Dank deines Codes habe ich jetzt auch verstanden, was ich vorher nicht verstanden hatte:
Die Bedeutung der besonderen Marke "insert" war mir nicht bewusst; hatte ich zwar gelesen, aber nicht in dieser Weise verstanden.