Удалить последний символ из wxPython wxTextCtrl? - PullRequest
2 голосов
/ 25 марта 2012

Я пытаюсь удалить самый последний символ из объекта TextCtrl в wxPython.Я использую wxPython 2.8.12 и Python 2.7.2.

Мой код выглядит следующим образом:

def btnBkClicked(self, e):
    self.txtItem.Remove(self, (self.txtItem.GetLastPosition()[-1]), (self.txtItem.GetLastPosition()))

Однако это не работает :( Что мне нужно изменить/ сделать?

1 Ответ

2 голосов
/ 25 марта 2012

Если вам нужно удалить самый последний символ из строки, попробуйте

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

Этот код получает текущий текст из TextCtrl и устанавливает и устанавливает его значение для этого текста до последнего символа.

Что касается вашего ввода, TextCtrl.Remove нужны два параметра: from и to, которые являются целыми числами, дающими первую и последнюю позиции, которые будут удалены.Поскольку GetLastPosition возвращает количество символов в элементе управления, ваш код должен быть изменен как

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