Russian Qt Forum

Qt => Вопросы новичков => Тема начата: vanyshko от Май 12, 2012, 14:11



Название: Qt Quick и QInputContext
Отправлено: vanyshko от Май 12, 2012, 14:11
Доброго всем времени суток!  :)

Пишу программу для сенсорного терминала на Qt/Qt Quick. Пользовательский интерфейс полностью на qml. Всё было хорошо, пока не потребовалось написать собственную виртуальную клавиатуру. Взял пример из примеров, где есть кнопки 1-9 (на QInputContext). Вроде бы всё заработало с начала, но потом заметил, что при вводе с этой клавиатуру в WebView вводится по два символа (например, нажимаешь «2» на виртуальной клавиатуре и, допустим, в поле ввода на html страничке появляется «22»), при этом в обычных qml’ных компонентах вводится всё нормально. Это проблема №1.

Т.к. весь гуй на qml, то и виртуальная клавиатура должна быть на qml. Сразу возникает вопрос, как это реализовать. Для генерации клавиатуры на разных языков можно использовать xml. Так же для разных пользователей (админ/пользователь) у клавиатуры будет различный функционал. Но с этим я сам разберусь, тут ничего сложного.  Меня лишь интересует, как вместо QWidget прикрутить клавиатуру на qml. Это проблема №2.

Ну и последнее. Клавиатуру необходимо вызывать не только при получении контекста ввода, но и при нажатии на какую-нибудь кнопку на экране (так уж захотел заказчик). Проблема №3.

Собственно всё. Вопросы вроде бы несложные, возможно сам разберусь, но буду очень благодарен оперативной помощи, да и другим начинающим работать с Qt Quick будет интересно.

Всем заранее спасибо!  :)