Встраиваемый фреймворк Qt обзавелся виртуальной клавиатурой

Embedded
, Текст: Любовь Касьянова
Разработчики коммерческого издания известного GUI-фреймворка Qt выпустили крупное обновление встраиваемой версии Qt Enterprise Embedded, включив в него эмуляцию сенсоров и готовую экранную клавиатуру.

Компания Digia, ведущая разработку коммерческой версии открытого фреймворка Qt, обновила его встраиваемую версию – Qt Enterprise Embedded, позволяющую быстро разрабатывать графические интерфейсы для встраиваемых приложений и систем.

Теперь во встраиваемое приложение на Qt можно легко добавить экранную клавиатуру: для этого новая версия фреймворка включает в себя готовый модуль – Qt Virtual Keyboard. Клавиатура поставляется в двух видах: «модерн», напоминающая экранные клавиатуры планшетов Android, и «ретро», имитирующая клавиши старомодной печатной машинки.

Как утверждают разработчики, стандартный внешний вид клавиатуры доступен для кастомизации и легко адаптируется под любые экранные разрешения. Клавиатуру Qt можно интегрировать с любыми программами для проверки правописания и движками текстовых подсказок – как вендорскими, так и построенными на базе открытого кода. По словам Digia, готовый модуль клавиатуры избавит разработчиков встраиваемых систем от множества хлопот в эпоху сенсорных экранов. Клавиатура лицензирована в составе Qt Enterprise Embedded, поэтому ее можно интегрировать во встраиваемые приложения, не беспокоясь о лицензиях третьих сторон.

Фреймворк существенно улучшил библиотеку готовых элементов управления (Quick Enterprise Controls). Встраиваемая версия фреймворка включает в себя такие специфические элементы управления, как круговой и вертикальный индикатор, круговое контекстное меню, кнопки вызова и паузы, выключатель, переключатель, прогресс-бар и другие компоненты, необходимые для построения сенсорных интерфейсов.

Выпущено обновление для встраиваемой версии Qt Enterprise Embedded, позволяющего быстро разрабатывать графические интерфейсы

Помимо визуальных компонентов, новая версия Qt Embedded подарила разработчикам ряд улучшений в плане инструментов эмуляции. Важнейшей новинкой является эмулятор сенсоров, который позволяет тестировать реакцию графического интерфейса на прием данных от различных датчиков. Подобный эмулятор уже был доступен для мобильной версии Qt. Он поддерживает такие виды сенсоров как датчики света, акселерометры, компасы, датчики угла поворота и бесконтактные датчики. Кроме того, к встраиваемой версии был подключен модуль Qt Charts, позволяющий строить диаграммы и графики: линейные, круговые, комбинированные, точечные, столбчатые и другие.

Фреймворк Qt Enterprise Embedded разрабатывается в рамках проекта Boot to Qt, нацеленного на предоставление полноценного стека технологий графического интерфейса для устройств, отличных от ПК. Первый релиз Qt Enterprise Embedded вышел в октябре 2013 г.

Стек встраиваемых технологий устанавливается на целевое аппаратное обеспечение. Qt Enterprise Embedded поддерживает платформы Beagle Board xM, Raspberry Pi, Boundary Devices SabreLite, Google Nexus 7, x86 PC, а начиная с этого релиза – и BeagleBone Black. Поддержку других конфигураций Digia и ее партнеры обеспечивают по желанию заказчика.

В отличие от богатого набора хардверных платформ, фреймворк Qt EE доступен всего для двух встраиваемых ОС – Linux и Android. Вариант для Android содержит ядро и часть ПО среднего слоя системы, а верхний слой Java-технологий, включая виртуальную машину Dalvik VM, заменен на Qt/QML.

Linux-стек, в свою очередь, разработчики могут собрать самостоятельно, используя Yocto Project, оптимизированный под работу с Qt. В новой версии Qt EE обеспечена поставка сценариев Yocto для формирования собственных вариантов сборки.

Разработчикам под другую популярную платформу, Windows Embedded CE/Compact, для создания графических пользовательских интерфейсов предлагается собственная технология Microsoft – XAML for Windows Embedded.

Данная технология базируется на декларативном принципе описания интерфейса, что позволяет разделить логику и дизайн приложения. Такое разделение, в свою очередь, значительно ускоряет процесс разработки приложений, поскольку разработчик и дизайнер могут работать независимо друг от друга. Корни XAML for WE идут от двух других родственных технологий: WPF и Silverlight.

Основное отличие API для Windows Embedded заключается в использовании C/C++ кода вместо C#. Также в отличии от Silverlight, который используется в Web-приложениях, XAML for WE поддерживает аппаратное ускорение при помощи OpenGL, DirectDraw с возможностью расширения ускорения при помощи других технологий, которые доступны на целевом устройстве. XAML for WE интегрирован в современные средства для Windows-платформы, такие как Visual Studio 2012/2013, то есть для продуктивной разработки кода и дизайна приложения на XAML for Windows Embedded не требуются дополнительные средства.

Фреймворк Qt также поддерживается для Windows Embedded, однако только в некоммерческой версии и только для WE CE7. Ситуацию прокомментировал CNews ведущий специалист отдела исследований и разработок компании «Кварта Технологии» Павел Белевский: «В первую очередь следует учесть, что для коммерческого использования потребуется специальная лицензия – Qt Commercial License. Также, на текущий момент, Qt официально не поддерживается в Visual Studio 2013 и Windows Embedded Compact 2013».