Russian Qt Forum

Qt => Вопросы новичков => Тема начата: helga1917 от Декабрь 16, 2013, 10:36



Название: коды клавиш б, ю, ё
Отправлено: helga1917 от Декабрь 16, 2013, 10:36
Добрый день, пишу приложение, в котором при нажатии на клавиатуру, соответствующие символы, должны отображаться на экране. Для этого переопределяю метод keyPressEvent() -использую hex-коды клавиш с 0х20 по 0х7е. При английской раскладке все работает, но при русской не выводятся символы ё ю б , хотя символы ~`,< . > при английской раскладке выводятся. В чем может быть проблема?


Название: Re: коды клавиш б, ю, ё
Отправлено: helga1917 от Декабрь 16, 2013, 11:40
функция keyPressEvent():

Код
C++ (Qt)
void Console::keyPressEvent(QKeyEvent *event)
{
if(event->key() >= 0x20 && event->key() <= 0x7e
          && (event->modifiers() == Qt::NoModifier || event->modifiers() == Qt::ShiftModifier || event->modifiers() == Qt::AltModifier))
           QPlainTextEdit::keyPressEvent(event);
}
 


Название: Re: коды клавиш б, ю, ё
Отправлено: _OLEGator_ от Декабрь 16, 2013, 11:44
Чем это не подходит?
Код
C++ (Qt)
QString QKeyEvent::text () const
quint32 QKeyEvent::nativeScanCode () const


Название: Re: коды клавиш б, ю, ё
Отправлено: helga1917 от Декабрь 16, 2013, 12:49
спасибо