这是我的问题:



self.textCtrl1 = wx.TextCtrl(id=wx.ID_ANY, name='textCtrl1',
              parent=self, pos=wx.Point(0, 100), size=wx.Size(400, 100),
              style=wx.VSCROLL | wx.TE_MULTILINE, value='')
self.textCtrl1.SetValue("I don't want this line to be selected by default!\n")


如您所见,每次对话框启动时,默认情况下总是选择wx.TextCtrl中的内容,即使我SetInsertionPoint到最后一个字符也是如此。这确实很烦人,因为您键入的任何内容都会默认删除以前选择的内容,而且我找不到将光标设置到初始文本末尾的方法。那么如何解决这个问题呢?

P.S .:我正在使用wxPython 2.8.12.1,python 2.7.3在Win 7 64位上运行

最佳答案

奇怪的是,您的textCtrl文本会自动被选择。在正常情况下,光标只会指向框的开始。

尝试以下方法之一:

self.textCtrl.SetValue("I don't want this line to be selected by default!\n")
self.textCtrl.SetInsertionPoint(self.textCtrl.GetLastPosition())


而不是使用SetValue,请使用以下命令:

print >> self.textCtrl, "I don't want this line to be selected by default!"

07-28 08:56