Russian Qt Forum
Ноябрь 23, 2024, 12:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Virtual Keyboard Tools  (Прочитано 2542 раз)
QCasper
Гость
« : Декабрь 28, 2009, 13:37 »

По работе пришлось столкнуться с необходимостью в виртуальной клавиатуре. Ввиду того, что разрабатываемый софт планируется сделать максимально расширяемым на уровне конфигураций, в том числе это касается и дизайна, этот вопрос коснулся и клавиатуры. Поиск по готовым решениям показал, что все предлагаемые варианты, имеют свой собственный, неповторимый дизайн. Даже небольшое его изменение влечёт правки кода. То же самое касается и фукционала - просто так добавить/удалить кнопку не получится.
Универсальное решение возможно и существует, но в интернете оно в глаза не бросается и скорее всего не бесплатное. Вобщем, так или иначе, я его не нашел и посему попытался решить задачу собственными силами.

В результате получился небольшой набор классов и вспомогательное приложение.
Суть работы сводится к следующему. Для каждой раскладки, которую собирается использовать Ваша клавиатура, необходимо подготовить по два изображения. Первое должно быть обычным изображением клавиатуры, во втором все кнопки должны быть нажаты.
После этого нужно подготовить файлы раскладки. Для этого используется вспомогательное приложение. В нём нужно "обвести" все кнопки вашей клавиатуры, используя подходящие для этого инструменты, коих всего два: прямая линия и линия безье. После каждой такой обводки приложение предлагает задать имя, код и печатаемый текст клавиши.
Теперь, с помощью класса VkbItem, можно работать с виртуальной клавиатурой, которая имеет Ваш собственный дизайн. Вы можете настраивать переключение между раскладками и задавать альтернативное поведение клавиш, то как их "залипание" или "автоподнятие" по нажатию других клавиш.

Я надеюсь этот небольшой инструментарий будет полезен.
Ссылка для загрузки.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 20.