Как сделать строку доступной только для чтения в QPlainTextEdit?

Я хотел бы сделать определенные строки только для чтения в подклассе QPlainTextEdit.

Я знаю, что могу переопределить событие keyPressed и игнорировать его в строках, которые будут доступны только для чтения, но мне нужно было бы отфильтровать событие key для нередактируемых клавиш (таких как клавиши со стрелками). Кроме того, это не учитывает текст, вставляемый в эту строку.

Есть ли встроенная поддержка для этого или лучший способ сделать это?

0

Решение

Если вы отслеживаете начало и конец раздела «только для чтения», вы можете просто изменить атрибут «только для чтения» всего документа, когда курсор или часть выделения входит в диапазон «только для чтения».

http://doc.qt.io/qt-5/qplaintextedit.html#readOnly-prop

Я бы использовал подсветку синтаксиса, чтобы сделать раздел только для чтения другим цветом, чтобы он имел больше смысла для конечного пользователя.

http://doc.qt.io/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html

Надеюсь, это поможет.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]