Я хочу, чтобы текстовое поле автоматически удаляло предыдущий вывод, чтобы я мог ввести полное предложение без печати каждой буквы в текстовое поле. Однако он повторяется до самого конца, поэтому, когда я нажимаю кнопку «Сохранить», он записывает каждую строку в буфер обмена.
Я пытался использовать текст Tkinter delete: text.delete (1.0, END). Однако ничего не удаляется.
class ExamplePanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, size=(3000,2000))
self.cipherText = wx.StaticText(self, label="Ciphered Text: ", pos=(20, 30))
#A multiline TextCtrl- Shows the events in the program.
#I think this might be where the problem is but I do not know how to
#get it to only print once, perhaps after the user hits "enter" or something.
self.logger = wx.TextCtrl(self, pos=(300,20), size=(200,300), style=wx.TE_MULTILINE | wx.TE_READONLY)
...
self.encrypt = wx.StaticText(self, label="Encryptor: ", pos=(20,60))
self.encryptEdit = wx.TextCtrl(self, value="", pos=(150, 60), size=(140,-1))
self.Bind(wx.EVT_TEXT, self.EncText, self.encryptEdit)
self.Bind(wx.EVT_CHAR, self.EncChar, self.encryptEdit)
...
def EncText(self,event):
result = ''
message = event.GetString()
for i in range(0, len(message)):
result = result + chr(ord(message[i]) - 2)
result = result.replace(chr(30), ' ')
print(result + '\n\n')
self.logger.AppendText(result + '\n\n')
Как описано выше, моя цель состоит в том, чтобы он очищал текстовое поле при каждом новом нажатии клавиши, чтобы оно не повторялось до конца. Вот как это выглядит в настоящее время: Токовый выход