Как настроить цвет фона строки TextArea - PullRequest
1 голос
/ 06 апреля 2020

Я хочу сравнить два текста TextArea и изменить цвет фона строки другого текста, но я не знаю, как можно использовать цвет фона буксировки в одной TextArea. Может быть, должен получить его на заказ, что мне делать? или импортировать. js чтобы получить? что мне делать?

1 Ответ

1 голос
/ 06 апреля 2020

В качестве более продвинутого решения вы можете манипулировать контентом TextArea с помощью https://doc.qt.io/qt-5/qtextdocument.html QTextDocument. Оригинальный текстовый документ доступен через это свойство https://doc.qt.io/qt-5/qml-qtquick-textedit.html#textDocument -prop . С этого момента вы можете назначить собственную подсветку синтаксиса. Но это требует исследования с вашей стороны.

С другой стороны, вы можете проверить этот пример https://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html и, используя этот класс https://doc.qt.io/qt-5/qsyntaxhighlighter.html, вы можете назначить существующие QTextDocument до QSyntaxHighlighter. То же самое, я думаю, может быть использовано для элемента QML TextArea.

Поскольку TextArea имеет свойство textDocument, возможно, потребуется повторно реализовать его для QtQuick Constrols.

честно говоря, я никогда не сталкивался с такой задачей, но этот пример выглядит довольно полезным для таких случаев. Вероятно, вам следует придерживаться опции форматированного текста, предложенной в комментариях, если вам не нужны расширенные функции (например, изменения содержимого в реальном времени).

...