Nun macht das "Echo" auch sinn, weil ich es so gemacht habe, das nicht direkt in geschrieben wird. Allerdings ist das IMHO unschön gelöst:
Ich möchte Text darstellen, den der User allerdings nicht direkt eingeben kann, sondern nur Programmseitig.
Ähnlich wie ein Terminalfenster/Konsole in dem der User was eingeben kann, aber die Zeichen der Eingabe immer vom Programm eingefügt wird.
z.Z. ist meine Lösung eine Tkinter.Text() Box. Fange die Eingabe-Zeichen mit self.root.bind("<Key>", self.event_key_pressed) ab und nehme da die einzelnen Zeichen in den buffer auf.
hier: https://github.com/jedie/DragonPy/blob/ ... #L244-L266
Eingefügt werden die Zeichen mit self.text.insert("end", char) hier: https://github.com/jedie/DragonPy/blob/ ... 09.py#L327
Damit nichts direkt in Tkinter.Text() geschrieben wird entziehe ich dem immer wieder den Fokus mit self.root.focus_set() hier: https://github.com/jedie/DragonPy/blob/ ... 09.py#L269
Dachte eigentlich ich könnte state=Tkinter.DISABLED nutzten. Aber dann funktioniert self.text.insert("end", char) nicht.
Auch das geht nicht:
Code: Alles auswählen
self.text.state = Tkinter.NORMAL
self.text.insert("end", char)
self.text.state = Tkinter.DISABLED
self.root.update()
EDIT: Ist für DragonPy -> http://www.python-forum.de/viewtopic.ph ... 19#p247319