QTextEdit перевод вводимых символов в верхний регистр |
Здравствуйте, гость ( Вход | Регистрация )
QTextEdit перевод вводимых символов в верхний регистр |
FantasyOr |
17.12.2010, 19:38
Сообщение
#1
|
Студент Группа: Участник Сообщений: 75 Регистрация: 13.8.2010 Пользователь №: 1956 Спасибо сказали: 4 раз(а) Репутация: 0 |
Добрый ...
это просто ужас, нигде в интернетах нет решения этой проблемы, казалось бы довольно тривиальный велосипед... анн нет, либо все молчат зная секрет, либо никому не надо? не верю. есть 2 варианта, и он вроде бы даже работает, но наполовину: 1) - ловим у QTextEdit textChanged() - сохраняем положение курсора - читаем весь текст - toUpper - присваиваем поднятый текст обратно QTextEdit - восстанавливаем курсор но тут 1 минус: - очень много ненужных действий 2) наследуемся от QTextEdit и переопределить keyPressEvent, но в QKeyEvent невозможно изменить модификатор(изменить на шифт нажат) вот тут и тупик. кто что подскажет? |
|
|
MoPDoBoPoT |
18.12.2010, 22:18
Сообщение
#2
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
2) наследуемся от QTextEdit и переопределить keyPressEvent, но в QKeyEvent невозможно изменить модификатор(изменить на шифт нажат) вот тут и тупик. Зато можно подменить своим событием. Но с модификаторами лучше не играться, а то можно на трудноотлавливаемый баг нарваться. Кстати, если это нужно в качестве единичного использования, то можно воспользоваться фильтром событий (для этого читать про QObject::installEventFilter() QApplication::sendEvent()) |
|
|
Текстовая версия | Сейчас: 22.12.2024, 23:13 |