Название: Виртуальная клавиатура Отправлено: porex от Январь 23, 2012, 20:55 Доброго времени суток!
Делаю виртуальную клавиатуру на основе контекста ввода. Все функции взяты из примера Input Panel Example, сделал только классы другие и форму с клавиатурой. В итоге при нажатии на поле ввода отсылается событие QEvent::RequestSoftwareInputPanel и сразу же за возникает событие QEvent::CloseSoftwareInputPanel, вследствие чего клавиатура закрывается, так и не успев появиться. Думаю что-то связано с фокусом поля ввода, но ошибку пока не нашел. Сижу под Ubunt'ой. Название: Re: Виртуальная клавиатура Отправлено: ddrtn от Январь 24, 2012, 07:37 У всех элементов виртуальной клавиатуры (кнопки или еще там чего ) нужно выставить focusPolicy в NoFocus.
+ в наследнике от контекста ввода заменить Код: if (!w) return; Код: if (!w) return; (если исходники взяты из примера. функция void InputPanelContext::sendCharacter(QChar character)) Название: Re: Виртуальная клавиатура Отправлено: porex от Январь 24, 2012, 21:08 Огромное спасибо! Как-то не догадался((
Название: Re: Виртуальная клавиатура Отправлено: NicK от Январь 25, 2012, 10:03 А возможно ли вернуть стандартный InputContext на лету?
т.е. можно ли во время выполнения программы после этого Код
вернуть в зад стандартный QInputContext или это уже необратимая процедура? Название: Re: Виртуальная клавиатура Отправлено: empirik от Май 05, 2012, 08:25 У меня другая проблема. На виртуальной клавиатуре сделал кнопку закрыть. При ее нажатии клавиатура скрывается (вызывается метод hide у QWidjet). Но после этого не показываться только тень от виджета, а самого виджета просто не видно. Все вроде сделал, как в выше описанном примере, но остался лишь выше описанный глюк. Подскажите в какую сторону копать.
Название: Re: Виртуальная клавиатура Отправлено: Андрей от Июнь 12, 2012, 17:09 А у меня почему-то клавиши не нажимаются на клавиатуре и вообще она не реагирует на мышь. Если убрать функцию event(QEvent *e), начинает реагировать.
|