Название: как из QTextEdit считывать посимвольно Отправлено: kuku от Январь 14, 2010, 02:19 я знаю вопрос чайника, но для меня реальная проблема. :'( Как из QTextEdit доставать текст посимвольно с возможностью двигать курсор как вперед так и назад. И как сравнивать после этого со словом каким-либо или символом??? Помогите ПЛИЗ!!!
Название: Re: как из QTextEdit считывать посимвольно Отправлено: Akaiten от Январь 14, 2010, 13:10 Переместить курсор можно, используя метод QTextEdit::moveCursor (http://doc.trolltech.com/4.6/qtextedit.html#moveCursor)
Код: void QTextEdit::moveCursor ( QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor ) Например, на один символ вперёд Код: textEdit->moveCusros(QTextCursor::NextCharacter) Код: textEdit->moveCusros(QTextCursor::PreviousCharacter) Также можно двигать курсор на слово вперёд/назад, на строку вверх/вниз и т.п. (см. QTextCursor::MoveOperation (http://doc.trolltech.com/4.6/qtextcursor.html#MoveOperation-enum) enum) Доставать текст посимвольно можно различными способами. Например, символ находящийся после курсора (включая служебные символы, такие как перевод строки и т.п.) можно получить так Код: textEdit->document()->characterAt(textEdit->textCursor().position()) А конкретно для чего надо посимвольно? Название: Re: как из QTextEdit считывать посимвольно Отправлено: kuku от Январь 14, 2010, 15:07 Переместить курсор можно, используя метод QTextEdit::moveCursor (http://doc.trolltech.com/4.6/qtextedit.html#moveCursor) Код: void QTextEdit::moveCursor ( QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor ) Например, на один символ вперёд Код: textEdit->moveCusros(QTextCursor::NextCharacter) Код: textEdit->moveCusros(QTextCursor::PreviousCharacter) Также можно двигать курсор на слово вперёд/назад, на строку вверх/вниз и т.п. (см. QTextCursor::MoveOperation (http://doc.trolltech.com/4.6/qtextcursor.html#MoveOperation-enum) enum) Доставать текст посимвольно можно различными способами. Например, символ находящийся после курсора (включая служебные символы, такие как перевод строки и т.п.) можно получить так Код: textEdit->document()->characterAt(textEdit->textCursor().position()) А конкретно для чего надо посимвольно? Спасибо! Надо просто прикрутить подсветку. именно сканируя чтобы сократить время обработки. сканируя-найти начало функции(), вернуться, занести имя функции, тип, входные данные, тело в отдельные столбцы в таблице. Название: Re: как из QTextEdit считывать посимвольно Отправлено: kuku от Январь 14, 2010, 15:09 поможите пожалуйста!
Название: Re: как из QTextEdit считывать посимвольно Отправлено: Павел_F. от Январь 14, 2010, 15:57 Думаю вам стоит посмотреть Syntax Highlighter Example в документации.
Название: Re: как из QTextEdit считывать посимвольно Отправлено: kuku от Январь 14, 2010, 16:11 Да я уже прикрутил Highligter, но мне еще и нужна детальная обработка конструкций языка. А метод который они предлагают, имеет много недочетов, и займет много процессорного времени.
Название: Re: как из QTextEdit считывать посимвольно Отправлено: kuku от Январь 15, 2010, 02:04 ПРоблема решена. Отдельное СПАСИБО Akaiten!!! ;)
|