Название: QPlainTextEdit: переопределить клавиши Отправлено: Rain от Декабрь 28, 2009, 19:10 Есть область для ввода текста в виде QPlainTextEdit.
Нужно реализовать следующее поведение: 1. Переход к новой строке осуществляется с помощью Ctrl + Enter. 2. Окончание редактирования (потеря фокуса) осуществляется по Enter. Т.е. хочется иметь возможность кастомизировать эти действия (перевод строки и окончание редактирования). Смотрю в сторону фильтрации QKeyEvent. С завершением редактирования все вобщем-то понятно. Достаточно перехватить нажатие нужных клавиш. А вот как быть с переводом строки я не определился(не нашел, как с помощью интерфейса, который предоставляет QPlainTextEdit можно эмулировать нажатие Enter). Есть идея попробовать залезть в документ, добавить в нужную позицию символ перевода строки/возврата каретки, позиционировать курсор и обновить QPlainTextEdit, но это как-то слишком сложно для такой казалось бы простой операции. Никто не сталкивался с подобной проблемой? Заранее спасибо за советы. Название: Re: QPlainTextEdit: переопределить клавиши Отправлено: SimpleSunny от Декабрь 28, 2009, 21:21 А разве void QPlainTextEdit::insertPlainText ( const QString & text ) не должно решить ваши проблемы? (Это я про ctrl + enter)
Название: Re: QPlainTextEdit: переопределить клавиши Отправлено: Rain от Декабрь 29, 2009, 10:59 Хм... Действительно, решение плавало на поверхности, спасибо:) Надо было внимательнее почитать мануал.
|