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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QPlainTextEdit: переопределить клавиши  (Прочитано 3655 раз)
Rain
Гость
« : Декабрь 28, 2009, 19:10 »

Есть область для ввода текста в виде QPlainTextEdit.
Нужно реализовать следующее поведение:

1. Переход к новой строке осуществляется с помощью Ctrl + Enter.
2. Окончание редактирования (потеря фокуса) осуществляется по Enter.

Т.е. хочется иметь возможность кастомизировать эти действия (перевод строки и окончание редактирования).

Смотрю в сторону фильтрации QKeyEvent. С завершением редактирования все вобщем-то понятно. Достаточно
перехватить нажатие нужных клавиш. 

А вот как быть с переводом строки я не определился(не нашел, как с помощью интерфейса, который предоставляет
QPlainTextEdit можно эмулировать нажатие Enter). Есть идея попробовать залезть в документ, добавить в нужную позицию
символ перевода строки/возврата каретки, позиционировать курсор и обновить QPlainTextEdit, но это как-то слишком сложно
для такой казалось бы простой операции.

Никто не сталкивался с подобной проблемой?

Заранее спасибо за советы.

Записан
SimpleSunny
Гость
« Ответ #1 : Декабрь 28, 2009, 21:21 »

А разве void QPlainTextEdit::insertPlainText ( const QString & text ) не должно решить ваши проблемы? (Это я про ctrl + enter)
« Последнее редактирование: Декабрь 28, 2009, 21:23 от SimpleSunny » Записан
Rain
Гость
« Ответ #2 : Декабрь 29, 2009, 10:59 »

Хм... Действительно, решение плавало на поверхности, спасибо:) Надо было внимательнее почитать мануал.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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