Название: Как получить QKeyEvent::text по коду Qt::Key с учетом текущей раскладки? Отправлено: lenny от Апрель 11, 2012, 13:51 Надо (хочу) отправлять событие нажатия кнопки в некоторый виджет. Туда же пользователь может вводить с клавы. Отправляю с помощью postEvent указатель на объект QKeyEvent.
[cpp] Qt::Key keyId = Qt::Key_Q; QString text = "?"; //Как здесь получить текст по коду клавиши c учетом текущей раскладки клавиатуры? То есть как получить по Qt::Key_Q QString("Й") при русской раскладке. QKeyEvent keyEvent = new QKeyEvent(QEvent::KeyPress, keyId, Qt::ShiftModifier, text); QCoreApplication::postEvent(someEdit, keyEvent)); [/cpp] Название: Re: Как получить QKeyEvent::text по коду Qt::Key с учетом текущей раскладки? Отправлено: Bepec от Апрель 11, 2012, 13:55 Никак не получить, если только не запрашивать раскладку у винды.
Кстати интересный вопрос - Qt::Key_Q отреагирует на й? Название: Re: Как получить QKeyEvent::text по коду Qt::Key с учетом текущей раскладки? Отправлено: lenny от Апрель 11, 2012, 14:11 Никак не получить Qt это делает и средства там для этого есть.Название: Re: Как получить QKeyEvent::text по коду Qt::Key с учетом текущей раскладки? Отправлено: lenny от Апрель 12, 2012, 14:12 Никак не получить Qt это делает и средства там для этого есть.Название: Re: Как получить QKeyEvent::text по коду Qt::Key с учетом текущей раскладки? Отправлено: Bepec от Апрель 12, 2012, 14:45 Можно просто запрашивать в начале работы по winApi (linuxApi) раскладку и запоминать. Далее уже ловить смену раскладки.
В принципе ничего сложного. Название: Re: Как получить QKeyEvent::text по коду Qt::Key с учетом текущей раскладки? Отправлено: lolbla2 от Апрель 12, 2012, 15:06 с помощью Event filter можно отправлять сообщения какому хочешь виджету, главное установить на виджет кому должно быть сообщение этот фильтр
|