#python #wxstyledtextctrl
#python #wxstyledtextctrl
Вопрос:
У меня есть окно журнала StyledTextCtrl, в которое я хочу записывать текст только через python, и я НЕ могу печатать на клавиатуре, чтобы вводить текст вручную. Когда я использую setEditable (False), это блокирует все окно, поэтому python также не может выполнять запись в окно. Как мне сделать так, чтобы python мог записывать в него, но я не могу?
self.running_log1 = wx.stc.StyledTextCtrl(self, pos=(5, 5), size=(575,505))
self.running_log1.SetMarginWidth(1, 0)
self.running_log1.SetEditable(False)
----------------------------
self.running_log1.AppendText(line)
Ответ №1:
У меня была такая же проблема. Не уверен, что это правильный способ сделать это, но способ, которым я обошел это, состоял в том, чтобы установить editable в true перед добавлением, а затем установить editable в false после добавления. Итак, в вашем примере код будет выглядеть следующим образом:
self.running_log1 = wx.stc.StyledTextCtrl(self, pos=(5, 5), size=(575,505))
self.running_log1.SetMarginWidth(1, 0)
self.running_log1.SetEditable(False)
----------------------------
self.running_log1.SetEditable(True)
self.running_log1.AppendText(line)
self.running_log1.SetEditable(False)