I want to get the cursor position (line and column) of the insertion point of a Tkinter.Text, but you may assume the answer is easy until you run this simple test run. Acutally I hope someone finds it easy. PROBLEM: My text editor project requires a custom undo/redo for Tkinter.Text. I put in the same string for both Test One and Test Two below, but undo does not act consistently due to a inconsistent column variable in KeyRelease event handler given by Tkinter. The problem seems to be that I type too fast for second test which produces a bad column value. Can you help me find the problem? TWO TEST PROCESS TO REPRODUCE THE ERROR: TEST ONE Type this string slowly: 'one two three' Press F1 to see each word undo. Result: Works fine. (For me atleast. Ephasis: type slowly.) TEST TWO Type the same string as fast as you can: 'one two three' Press F1 to see each word undo. Result: Gets the wrong column and does not undo properly. (Restart script and repeat this step if you don't see the error at first, it sometimes works fine with fast typing. I usually get it with 3 to 4 tries at the most.) QUESTION: Is this a bug in Tkinter, or am I not understanding something specific within Tkinter that would produce consistent columns for my undo/redo records? from Tkinter import * class TextView(Text): def __init__(self, root): Text.__init__(self, root) self.history = History(self) self.bind("<KeyRelease>", self.keyRelease) # used to capture a char at a time in keyRelease. If space char is pressed it , self.word) if __name__ == "__main__": root = Tk() root.geometry("400x200+0+0") textView = TextView(root) textView.pack() root.bind("<F1>", textView.undo) root.bind("<F2>", textView.redo) root.mainloop() --- Alle Postfächer an einem Ort. Jetzt wechseln und E-Mail-Adresse mitnehmen! Rundum glücklich mit freenetMail
_______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org https://mail.python.org/mailman/listinfo/tkinter-discuss