Seite 1 von 1

Cursor in Text-Widget positionieren

Verfasst: Sonntag 16. März 2008, 21:34
von numerix
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.

Verfasst: Sonntag 16. März 2008, 23:07
von HWK

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()
MfG
HWK

Verfasst: Montag 17. März 2008, 08:51
von numerix
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.