Метка «qml_training»

В нашей серии вебинаров по разработке на Qt Quick и QML мы уже довольно много говорили о разработке приложений в целом. Сегодня же мы расскажем про Qt Mobility — набор API и фреймворков, ориентированный на разработку приложений для мобильных платформ.

С помощью Qt Mobility можно задействовать такие технологии и возможности, свойственные в основном мобильным устройствам, как геопозиционирование, менеджмент и мониторинг состояния сетевых соединений, доступ к камерам и микрофону, работа с мультимедийными возможностями мобильного устройства, получение информации о статусе мобильного девайса (заряд аккумулятора и режим питания, доступность сети, текущий звуковой профиль и т.д.). Также среди возможностей Qt Mobility можно выделить работу с контактами, сообщениями электронной почты и SMS, календарями, галереями и другими стандартными мобильными приложениями. Все эти возможности Qt Mobility доступны в QML через плагины QtMobility QML.

Неотъемлемой частью современных смартфонов являются сенсоры, и упускать при разработке некоторых мобильных приложений возможности, доступные с их помощью — практически преступление. В вебинаре мы расскажем про работу с акселерометрами, гироскопами, магнитометрами (в народе — «компасами») и сенсорами освещенности.

Читать полностью »

В ряде случаев для написания функциональных приложений на QML без знаний C++ не обойтись, и, помимо умения на нём программировать, необходимо научиться интегрировать код C++ с языком QML. Именно этому и будет посвящен весь сегодняшний вебинар.

Посмотрев данный вебинар вы узнаете, как устроено декларативное окружение Qt и как оно связано с языком QML, а также поймете, что представляет из себя программа на QML с точки зрения C++. В первых вебинарах по разработке на QML и Qt Quick мы уже частично касались этого вопроса, но сейчас разберем его подробнее, вернувшись к элементарной программе «Hello, World!» и рассмотрев её с точки зрения C++.

Также в вебинаре мы рассмотрим возможности и порядок создания нового элемента, научимся экспортировать свойства из C++ в QML, и разберем, как создавать пользовательские сигналы и слоты.

Читать полностью »

В сегодняшнем вебинаре про технологии QtQuick и язык QML мы поговорим про пользовательские элементы и использование ресурсов.

Посмотрев текущее видео, вы научитесь создавать пользовательские элементы и компоненты, узнаете, какая между ними разница и в каких случаях что стоит использовать. Для новых компонентов вы научитесь определять пользовательские свойства (Property <type> <name> [: <value>]) и сигналы (signal <name> [( <type> <value>, …)]).

В вебинаре будет рассказано, какие есть соглашения об именах и как использовать сигналы на уровне QML, как пользоваться модулями для определения новых элементов или экспорта существующих элементов на более высокий уровень, а также о контроле версий модулей и элементов. В заключении вебинара речь пойдет о возможности задания пространства имен (aliasing), в которое мы загружаем тот или иной компонент или модуль, и, собственно, об использовании ресурсов в приложениях на QML.

Читать полностью »

В сегодняшнем эпизоде серии вебинаров, посвященной разработке на QML и QtQuick, мы расскажем про страничную организацию пользовательского интерфейса. Таким образом, мы вплотную подошли к этапу, когда вы сами сможете разрабатывать полноценные приложения.

На этот раз мы рассмотрим существующие типы мобильных приложений и возможные разновидности организации интерфейса пользователя для них, разберемся, как структурируются программы для мобильных устройств и какие бывают варианты построения мобильных программ. Просмотрев урок, вы узнаете про стек страниц и страничную организацию интерфейсов, научитесь работать с переходами между страницами и такими инструментами, как StatusBar и ToolBar.

Следует отметить, что существует два типа приложений:

  • Графические приложения, когда элементы пользовательского интерфейса разрабатываются специально (интерфейс, контролы);
  • Приложения, использующие стандартные библиотеки компонентов и элементов.

В данном вебинаре мы рассмотрим только второй тип приложений, чтобы сократить время разработки примеров, приведённых в практической части урока.

Читать полностью »

Наша серия вебинаров, посвященная QML и QtQuick, продолжается, и сегодня мы вам расскажем про анимацию. Без анимации, то есть плавных переходов и поворотов, сейчас немыслим ни один качественный интерфейс, а значит упускать эти возможности QML попросту нельзя.

Анимации используются для создания визуальных эффектов и применимы к любому визуальному элементу. Анимации могут применяться для чисел и свойств, их можно использовать для создания пауз и задержек. Существует множество типов анимации (NumberAnimation для числовой анимации, ColorAnimation для переходов между цветами, RotationAnimation для поворотов, SpringAnimation и т.д.)

Для возможности задать, каким образом при анимации будет интерполироваться переход от начального значения к конечному, можно использовать переходные кривые (Easing curves). С их помощью можно анимировать элементы, например, по экспоненциальному закону (easing.type: «OutExpo»).

Читать полностью »

После небольшого перерыва мы вновь продолжаем серию вебинаров по QML и QtQuick, и на этот раз поговорим про состояния и переходы — один из важнейших моментов в построении пользовательских интерфейсов на QML.

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

Внимательно посмотрев данный вебинар, вы научитесь работать с состояниями (states), условиями состояний и переходами между состояниями (transitions). Во второй половине видео вы узнаете о вероятных проблемах, связанных с использованием состояний и переходов, а также о возможных путях их решения.

Читать полностью »

Тема сегодняшнего эпизода серии вебинаров по QML и Qt Quick — «Списки. Модели и представления».

На этот раз автор вебинара Кирилл Кринкин рассказывает про концепцию Model-View-Controller и посвящает практически весь вебинар работе с моделями и представлениями. Посмотрев видео, вы узнаете, для чего используются статические и динамические модели и как они устроены в Qt Quick, как использовать делегаты, чтобы отображать элементы модели данных в элементах списка или других визуальных контейнерах.

Читать полностью »

Очередной эпизод серии вебинаров по QML и QtQuick посвящен обработке событий мыши и клавиатуры.

Первая часть вебинара отводится рассказу про невизуальный элемент MouseArea, определяющий участки экрана, в которых события мыши приводят к вызову обработчиков. Ведущий Кирилл Кринкин показывает два способа обработки событий мыши — с помощью связывания свойств (property binding) и с помощью обработчиков сигналов (signal handlers), а также объясняет разницу между этими способами.

Во второй части видео рассказывается про два типа ввода с клавиатуры: текстовый (когда часть специальных клавиш обрабатываются в runtime и события которых до обработчиков не доходят) и «сырой» (когда все клавиши вызывают обработчики). После вводной следует объёмная практическая часть.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js