Russian Qt Forum
Ноябрь 25, 2024, 21:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как из QTextEdit считывать посимвольно  (Прочитано 5046 раз)
kuku
Гость
« : Январь 14, 2010, 02:19 »

я знаю вопрос чайника, но для меня реальная проблема. Плачущий Как из QTextEdit доставать текст посимвольно с возможностью двигать курсор как вперед так и назад. И как сравнивать после этого со словом каким-либо или символом??? Помогите ПЛИЗ!!!
Записан
Akaiten
Гость
« Ответ #1 : Январь 14, 2010, 13:10 »

Переместить курсор можно, используя метод QTextEdit::moveCursor
Код:
 void QTextEdit::moveCursor ( QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor )

Например, на один символ вперёд
Код:
textEdit->moveCusros(QTextCursor::NextCharacter)
или назад
Код:
textEdit->moveCusros(QTextCursor::PreviousCharacter)

Также можно двигать курсор на слово вперёд/назад, на строку вверх/вниз и т.п. (см. QTextCursor::MoveOperation enum)

Доставать текст посимвольно можно различными способами. Например, символ находящийся после курсора (включая служебные символы, такие как перевод строки и т.п.) можно получить так
Код:
textEdit->document()->characterAt(textEdit->textCursor().position())

А конкретно для чего надо посимвольно?
Записан
kuku
Гость
« Ответ #2 : Январь 14, 2010, 15:07 »

Переместить курсор можно, используя метод QTextEdit::moveCursor
Код:
 void QTextEdit::moveCursor ( QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor )

Например, на один символ вперёд
Код:
textEdit->moveCusros(QTextCursor::NextCharacter)
или назад
Код:
textEdit->moveCusros(QTextCursor::PreviousCharacter)

Также можно двигать курсор на слово вперёд/назад, на строку вверх/вниз и т.п. (см. QTextCursor::MoveOperation enum)

Доставать текст посимвольно можно различными способами. Например, символ находящийся после курсора (включая служебные символы, такие как перевод строки и т.п.) можно получить так
Код:
textEdit->document()->characterAt(textEdit->textCursor().position())

А конкретно для чего надо посимвольно?

Спасибо! Надо просто прикрутить подсветку. именно сканируя чтобы сократить время обработки.
сканируя-найти начало функции(), вернуться, занести имя функции, тип, входные данные, тело в отдельные столбцы в таблице.
 
Записан
kuku
Гость
« Ответ #3 : Январь 14, 2010, 15:09 »

поможите пожалуйста!
Записан
Павел_F.
Гость
« Ответ #4 : Январь 14, 2010, 15:57 »

Думаю вам стоит посмотреть Syntax Highlighter Example в документации.
Записан
kuku
Гость
« Ответ #5 : Январь 14, 2010, 16:11 »

Да я уже прикрутил Highligter, но мне еще и нужна детальная обработка конструкций языка. А метод который они предлагают, имеет много недочетов, и займет много процессорного времени.
Записан
kuku
Гость
« Ответ #6 : Январь 15, 2010, 02:04 »

ПРоблема решена. Отдельное СПАСИБО Akaiten!!! Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 21.