【问题标题】:Remove last character from wxPython wxTextCtrl?从 wxPython wxTextCtrl 中删除最后一个字符?
【发布时间】:2012-04-09 00:43:46
【问题描述】:
我正在尝试从 wxPython 中的 TextCtrl 对象中删除最后一个字符。我正在使用 wxPython 2.8.12 和 Python 2.7.2。
我的代码如下:
def btnBkClicked(self, e):
self.txtItem.Remove(self, (self.txtItem.GetLastPosition()[-1]), (self.txtItem.GetLastPosition()))
但是,这不起作用:(我需要更改/做什么?
【问题讨论】:
标签:
python
wxpython
textctrl
【解决方案1】:
如果您需要从字符串中删除最后一个字符,请尝试
self.txtItem.SetValue(self.txtItem.GetValue()[:-1])
此代码从TextCtrl 获取当前文本,并将其值设置为该文本直到最后一个符号。
关于您的输入,TextCtrl.Remove 需要两个参数:from 和 to,它们是整数,给出要删除的第一个和最后一个位置。由于GetLastPosition返回控件中的字符数,你的代码应该修改为
self.txtItem.Remove(self.txtItem.GetLastPosition()-1, self.txtItem.GetLastPosition())