![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
void* |
![]()
Сообщение
#1
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
проблема такая - мне нужно при наведение на слово в QTextEdit'e поместить его, например, в QString. Вроде бы все сначала получалось, но остановился на том, что не знаю, как получить символ, используя QTextCursor...
можете что-то подсказать? Сообщение отредактировал void* - 11.6.2008, 7:44 |
|
|
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Так пойдет?
1. Получаешь текущую строку, в которой стоит курсор (sz) 2. Получаешь позицию курсора (n) 3. Получаешь символ: sz.mid( n, 1); |
|
|
void* |
![]()
Сообщение
#3
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
ммм.. это мне в данном примере нужно было бы получить символ, тогда бы наверно получилось бы сделать именно через QTextCursor, а вообще задача состоит в том чтобы получить слово, на которое был наведен курсор... т.е. выдрать из строки определенное слово...
|
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Понятно, другими словами ты делаешь редактор вроде студийного, в котором при наведении на переменную или функцию показывается их поднаготная. Нужно подумать как это сделать...
![]() |
|
|
AD |
![]()
Сообщение
#5
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
ммм.. это мне в данном примере нужно было бы получить символ, тогда бы наверно получилось бы сделать именно через QTextCursor, а вообще задача состоит в том чтобы получить слово, на которое был наведен курсор... т.е. выдрать из строки определенное слово... По-моему, вывод такой подсказки вполне логичен, если слово выделено, иначе алгоритм громоздкий. Попробуй делать вывод подсказки именно при выделении. ![]() |
|
|
void* |
![]()
Сообщение
#6
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
ViGOur, именно так, ты меня раскусил
![]() ![]() AD, не, так мне не нравится, не очень удобно будет, да и если бы я так делал, то вряд ли были бы трудности, т.к. есть функция QString QTextCursor::selectedText(), а вот именно в моем варианте есть проблемы с получением нужного слова... |
|
|
void* |
![]()
Сообщение
#7
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
вроде получилось! как раз наподобие того, что говорил ViGOur:
Так пойдет? 1. Получаешь текущую строку, в которой стоит курсор (sz) 2. Получаешь позицию курсора (n) 3. Получаешь символ: sz.mid( n, 1);
теперь буду разбираться дальше, с regexp'ами ![]() Сообщение отредактировал void* - 11.6.2008, 19:09 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Тему разделил: Помогите составить регулярное выражение
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 28.2.2025, 4:56 |