从wxPython wxTextCtrl中删除最后一个字符?

时间:2012-03-24 23:01:54

标签: python wxpython textctrl

我正在尝试从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()))

但是,这不起作用:(我需要更改/做什么?

1 个答案:

答案 0 :(得分:2)

如果您需要从字符串中删除最后一个字符,请尝试

self.txtItem.SetValue(self.txtItem.GetValue()[:-1]) 

此代码从TextCtrl获取当前文本,并将其值设置并设置为此文本,直到最后一个符号。

关于您的输入,TextCtrl.Remove需要两个参数:fromto,这些参数是给出要删除的第一个和最后一个位置的整数。当GetLastPosition返回控件中的字符数时,您的代码应该修改为

self.txtItem.Remove(self.txtItem.GetLastPosition()-1, self.txtItem.GetLastPosition())