При использовании myQTextEdit.append () стиль вставленного текста будет следующим (документация Qt 5.14):
" Новый добавленный абзац будет иметь тот же символ формат и формат блока в качестве текущего абзаца, определяемый позицией курсора."
Однако мне было бы удобно иметь возможность добавлять текст в стиле нейтральный .
Причина моей проблемы заключается в следующем: у меня есть окно журнала в форме QTextEdit, куда я добавляю текст (в основном нейтральный, но некоторые элементы могут быть окрашены, et c.). Поскольку это для целей журнала, QTextEdit доступен только для чтения, и текстовые элементы всегда добавляются в конце ( append () ). Это нормально, если пользователь никогда не нажимает на текст. При щелчке по части QTextEdit позиция курсора изменяется. Это не проблема для позиции, поскольку я использую append (), который вставляет текст в конец, даже если курсор находится в другом месте. Однако, если пользователь щелкнет что-то с ненейтральным стилем, добавленный впоследствии текст также будет иметь этот стиль, что нежелательно.
Что было бы интересно для меня, так это либо заблокировать курсор так что пользователь не может вмешиваться в стили или добавлять, не основывая стиль на текущем абзаце.
Есть ли способ изменить это поведение, кроме подкласса QTextEdit?
Как уже упоминалось, я мог бы проверить позицию курсора перед выполнением любого append () (и установить курсор в конце документа, если он был перемещен), но если он существует, я бы предпочел более "глобальное" решение.