Я хотел бы сделать определенные строки только для чтения в подклассе QPlainTextEdit.
Я знаю, что могу переопределить событие keyPressed и игнорировать его в строках, которые будут доступны только для чтения, но мне нужно было бы отфильтровать событие key для нередактируемых клавиш (таких как клавиши со стрелками). Кроме того, это не учитывает текст, вставляемый в эту строку.
Есть ли встроенная поддержка для этого или лучший способ сделать это?
Если вы отслеживаете начало и конец раздела «только для чтения», вы можете просто изменить атрибут «только для чтения» всего документа, когда курсор или часть выделения входит в диапазон «только для чтения».
http://doc.qt.io/qt-5/qplaintextedit.html#readOnly-prop
Я бы использовал подсветку синтаксиса, чтобы сделать раздел только для чтения другим цветом, чтобы он имел больше смысла для конечного пользователя.
http://doc.qt.io/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html
Надеюсь, это поможет.
Других решений пока нет …