У меня есть виджет QPlainTextEdit
в моем приложении, которому назначено QSyntaxHighlighter
. При каждом изменении содержимого в этой области редактирования текста мне нужно получать уведомление (чтобы обновить глобальное состояние сохранения/изменения приложения). Однако сигнал textChanged()
также испускается каждый раз, когда начинает работать маркер, который мне нужно как-то отфильтровать.
Я уже просмотрел modificationChanged()
, но это не вроде тоже не работает. Он игнорирует изменения выделения и успешно уведомляет меня о первом изменении содержимого, но не о любых последующих изменениях. В документации упоминается, что я должен иметь возможность сбросить внутреннее состояние с setModified(false)
, но этого метода, похоже, не существует.
Любые идеи о том, как отфильтровать изменения?
Должен ли я переключиться на QTextDocument
, у которого есть один contentsChanged()
, который говорят игнорировать изменения подсветки синтаксиса?
textChanged
, но только не в том случае, если он вызван подсветкой. - person Philip Allgaier   schedule 29.03.2014