【发布时间】:2014-02-13 09:32:09
【问题描述】:
我编写了以下函数,该函数在文本框中的每个按键事件时触发。这个想法是它允许用户输入特殊字符(西班牙语动词变位测试应用程序的重音元音)。当光标位于输入文本的末尾时,它可以完美运行,但是如果用户尝试返回并在控件中间编辑一个字母,则特殊字符仍会出现在末尾。我知道这是因为我正在使用 AppendText 但我看不到像 InsertText 这样的东西在不同的插入点插入文本。这样做的正确方法是什么?
def SpecialChars(self, e):
vowels = {65: 225, 69: 233, 73: 237, 79: 243, 85: 250}
key = e.GetUniChar()
if self.last_key_down == 'accent' and key in vowels.keys():
self.answer_txt.AppendText(unichr(vowels[key]))
self.last_key_down = 'none'
elif key == 39:
self.last_key_down = 'accent'
else:
self.last_key_down = 'none'
e.Skip()
【问题讨论】:
标签: python python-2.7 wxpython