![]() |
|
![]() ![]() ![]() |
|
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
вобщем есть такая проблема. Надо узнать последний символ введенный в QTextEdit. toPlainText() не подойдет, т.к. мне не нужен весь текст, и это будет неэффективно при работе с большим объемом текста. Пример:
в документации чет ниче похожего не нашел... у QTextCursor'a тоже вроде ниче нужного нема... заранее спасибо! -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
Тебе нужен последний введенный символ или последний символ в тексте.
если первое то keyPressEvent(QKeyEvent *keyEvent) и будет последний символ если второе тебе все равно прийдется делать toPlainText(), ведь чтобы найти последний символ для этого нужен текст, где искать, правильно? -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
Elfebet, да, я немного неправильно выразился, мне нужен последний символ в тексте, но получать через toPlainText() может быть не слишком быстро если текст большой... вот я почему и спрашиваю, мне нужен не весь текст, а только его последний символ, может как-то через QTextCursor можно это сделать...
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Может быть тогда есть смысл посмотреть в сторону QDataWidgetMapper ?
Это сообщение отредактировал(а) SABROG - 6.6.2008, 15:52 |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
насколько я понял это для model/view-представления, а мне нужно для QTextEdit
![]() вообще говоря, я хочу сделать фишку, которая есть во всех IDE(под С++) - когда вводится символ "{" или ":" и нажимается Enter, то курсор должен перескакивать не просто наследующую строку, а еще и под этим символом. Поэтому мне и показалось, что если для этого каждый раз делать банально toPlainText(), то это будет медленно работать, если объем текста большой... -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
вобщем, сделал так:
но сабж еще интересует -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
а если просто запоминать, что нажата клава shift+[ или shift+; то это знак "{ или :" и если следующий символ идет Qt::Key_Return то выполняеш это дейсвие, иначе ниче не делаеш
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
Elfebet, мне кажется должен быть вариант покрасивее, может быть через QTextCursor...
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 7 Всего: 162 |
||||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
всем спасибо, проблема решена через QTextBlock:
Это сообщение отредактировал(а) anatox91 - 7.6.2008, 12:51 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |