QSyntaxHighlighter? |
Здравствуйте, гость ( Вход | Регистрация )
QSyntaxHighlighter? |
XXL |
5.7.2009, 12:12
Сообщение
#1
|
Студент Группа: Участник Сообщений: 30 Регистрация: 26.4.2009 Пользователь №: 708 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем доброго дня!)
Подскажите,пожалуйста,как решить такую проблему. У меня есть текстовый редактор с возможностью разметки различных документов (C++ и т.д.) , а так же с режимом без разметки. Ввожу текст, а затем применяю нужную подсветку, через QSyntaxHihglighter как в Qtшном примере
и вроде бы все хорошо. Но если затем пробую получить текстовый формат под курсором таким образом,
то получаю тот текстовый формат, который использовался при вводе текста, а не тот который используется в настоящий момент в разметке. После того, как удаляю m_pHighlighter, то разметка пропадает, а документ возвращается в исходное состояние. В общем, я так понимаю, удаляется экземпляр QTextDocument, который использовался для разметки классом QSyntaxHighlighter. Но можно ли получать нужный текстовый формат, соответствующий формату подсветки, а не исходный, и как избежать возвращения разметки текста к первоначальному состоянию? Отказаться от QSyntaxHighlighter и реализовать свою функцию? -------------------------------------- Еще такой вопрос, не совсем в тему, как написать регулярное выражение для разметки строк? То, которое используется во всех примерах, не совсем корректное ".*" - а именно если в тексте есть текст "строка1" не строка "строка2", то, соответственно, ко всему тексту применится нужный формат разметки, а нужно лишь к "строка1" и "строка2". Или придется пользоваться методом разметки, как для многострочных комментариев? (Что-то типа
Большое спасибо!) Сообщение отредактировал Admin - 5.7.2009, 14:23
Причина редактирования: Учимся использовать тег CODE
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 2:40 |