def SyntaxLight(self):
string=str(self.inputText.toPlainText())
string=list(string)
for p in range(0,len(string)):
if p==self.i:
string[p]='<b>'+string[p]+'</b>'
temp=''.join(string)
temp.replace('<','<')
temp.replace('>','>')
self.inputText.setText(temp)
for p in range(0,len(string)):
if p==self.i:
string='<b>'+string+'</b>'
self.i - это текущее положение команды в inputText
if p==self.i: ищет данную команды, выдирает и вставляет на ее место'<b>'+string+'</b>', дабы текст был жирным.
temp=''.join(string) - текст объединяется и вставляется обратно в поле inputText, при этом старый вариант затирается
Все бы ничего, если бы определенном значении переменной string некоторые символы удивительным образом не исчезали, причем проверенно, символы исчезают сразу после команды self.inputText.setText(temp).
Например команда брейнфака-хеллоуворд( Даже не важно набирается она вручную или копируется из ХТМЛ источника.)
++++++++++>++Он после подсвечивания первой команды “+” переделывает в(стоит сказать, что команду он все таки подсвечивает:))
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
——.——–.>+.>.
++++++++++[>+++++++>++++++++++>+++>+++ .>+.+++++++..+++.>++..+++. ——.——–.>+.>.При этом не все списки команд он переделывает, понять при каких именно комбинациях не смог.
Подскажите где может быть проблема пожалуйста, а то уже прогу изуродовал три раза, ривербанк не помогает… Если требуется могу кинуть код всей программы. Заранее спасибо.