@w0lkolak

Как полностью отменить подсветку текста до того как она начнётся?

Существует меню выбора синтаксиса. Пользователь берет файл.ру из эксплорера и
и применяет его, надеясь что это файл с синтаксисом. Это может оказаться другой файл.
Тогда нужно вернуть старый синтаксис.
Сейчас это выглядит так:
try:
       self. Highlighter = myHighlighter(doc, new_syntax)
except:
       self. Highlighter = myHighlighter(doc, old_syntax)


class myHighlighter(QSyntaxHighlighter):
    def __init__(self, doc, syntax):
       QSyntaxHighlighter.__init__(self, doc)
       self.rules_from_syntax(syntax)


Проблема в том, что применение old_syntax не отменяет применения new_syntax и после перехода в except и окончания всех манипуляций все равно начинается highlihtBlock с синтаксисом new_syntax. А он пуст, например. Крах.
Как в случае ошибки отменить highlight new_syntax и сразу заняться old_syntax?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы