Многие знают и пользуются такими возможностями операционной системы Android, как Google Now и Google Assistant, которые позволяют не только вовремя получать полезную информацию и что-либо искать в интернете, но и управлять устройством с помощью голосовых команд. К сожалению, Sailfish OS (операционная система, разрабатываемая финской компанией Jolla и российской компанией Открытая мобильная платформа) не предоставляет такой возможности «из коробки». Как результат, было решено восполнить отсутствие этих удобств своими силами. Одной из функций разрабатываемого решения является возможность управления музыкальным плеером с помощью голосовых команд, техническая сторона которой и будет рассмотрена в данной статье.
Читать полностью »
Рубрика «qt» - 14
Управляем стандартным плеером Sailfish OS с помощью голосовых команд
2016-10-27 в 17:00, admin, рубрики: QML, qt, sailfish os, мобильная разработка, разработка мобильных приложенийНаше первое приложение для Sailfish OS
2016-10-12 в 10:22, admin, рубрики: flux, QML, qt, sailfishos, мобильная разработка, разработка мобильных приложенийВсем доброго времени суток! В данной статье хотелось бы рассказать, как мы разработали своё первое приложение для платформы Sailfish OS (о разработке под которую уже был ряд статей).

Задачей было написать приложение, с помощью которого можно было бы изучать и запоминать литературные термины. Так как реализовать обычный словарь с толкованием слов слишком просто и скучно, то было принято решение: организовать процесс обучения через взаимодействие с пользователем. Рассмотрев все доступные варианты построения взаимодействия с пользователем, было решено сделать обучение в виде тестов.
Читать полностью »
Разбираемся в MAVLink. Часть 1
2016-10-11 в 12:16, admin, рубрики: c++, mavlink, qt, БПЛА, дроны, протоколы передачи данных, Разработка робототехники, метки: mavlinkДля обмена данными многие современные дроны, собираемые энтузиастами, коммерческие или даже промышленные, используют протокол MAVLink. Я бы хотел поделиться своим опытом работы с этим протоколом в этой, а может и в последующих статьях.

На картинке изображен MapReduce в том виде, в каком он реализован в Qt:
QFuture<T> QtConcurrent::mappedReduced(const Sequence &sequence,
MapFunction mapFunction, ReduceFunction reduceFunction /*...*/)
T QtConcurrent::blockingMappedReduced(const Sequence &sequence,
MapFunction mapFunction, ReduceFunction reduceFunction /*...*/)
Столкнулся с тем, что коллеги на работе не знают про MapReduce в Qt Concurrent. Как говорил Гёте: "Чего мы не понимаем, тем не владеем". Под катом будет немножко про Map, про Reduce, про Fork–join model и пример решения простой задачки при помощи MapReduce.
Разработка для SailfishOS: меню
2016-08-23 в 7:48, admin, рубрики: QML, qt, sailfish os, мобильная разработка, разработка мобильных приложенийЗдравствуйте! Очередное продолжение цикла статей о разработке для мобильной платформы SaifishOS. На этот раз я хочу рассказать о том, как в приложении реализовать различного вида меню. Данная тема заслуживает отдельной статьи, поскольку меню в SailfishOS сами по себе выглядят достаточно интересно и не похожи на меню в других мобильных платформах.
Читать полностью »
Qt: Вывод отчета стандартными средствами (или живем без генераторов отчета)
2016-08-19 в 13:49, admin, рубрики: c++, qt, отчетыНудное вступление с Qt 4.8
Недавно коллега по работе спросил об опыте использования построения отчетов под Qt (начинаем потихоньку внедрять SCADA, написанную на Qt) — в силу поставленной задачи очень нужная вещь. Генераторами никто не пользовался (на данной платформе), но отчеты мы я каким-то образом делали без использования FastReport и таскания лишних приложений.
Покопавшись в проектах, нашел приложение с отчетами, виджетами для предпросмотра (QLabel, QTableView....). Вид отчета «preview»:
Смотрю на форумах рунета, люди начинают писать на C++&Qt Quick и используют наследников от QObject, для так называемых типов значений(Value Type). Мартин Фаулер их называет Value Object. Хотя есть макрос Q_GADGET позволяющий использовать QMetaObject c некоторыми ограничениями, но без наследования от QObject. Все что будет описано ниже результат экспериментов с Qt Quick. Буду рад узнать что-то новое из комментариев.
Пример таких типов QPoint, QGeoCoordinate и т.д. Наследоваться от QObject и использовать макрос Q_OBJECT неудобно для таких типов:
- QObject защищен от копирования;
- нужно возвращать значение по указателю. Приходится задумываться о CppOwnership/JavaScriptOwnership из перечисления QQmlEngine::ObjectOwnership.
Q_GADGET позволяет нам использовать:
- Q_ENUM;
- Q_PROPERTY;
- Q_INVOKABLE.
Ограничение:
- Отсутствие поддержки сигналов и слотов.Читать полностью »
Разработка для SailfishOS: стилизация приложения
2016-08-04 в 20:00, admin, рубрики: QML, qt, sailfish os, мобильная разработка, разработка мобильных приложенийЗдравствуйте! Данная статья продолжает цикл статей посвящённых разработке приложений под Sailfish. В прошлых статьях я описал как начать разрабатывать под мобильную платформу Sailfish OS и рассказал об основах разработки под данную платформу. В этой же статье я расскажу о том, как сделать так, чтобы ваше приложение, с точки зрения стиля и размеров, выглядело как стандартное приложение для платформы SailfishOS.
Читать полностью »
Undo и Redo — анализ и реализации
2016-07-27 в 8:33, admin, рубрики: .net, C#, c++, qt, redo, undo, UndoRedo, Анализ и проектирование системПривет! В связи со своей реальной задачей проанализировать возможности Qt и .NET для реализации так называемых «Назад» (Undo) и «Вперёд» (Redo), цель которых отменить действие и отменить отмену соответственно, я решил все свои мысли, идеи и задумки развернуть в этой статье, даже если они будут частично или совсем неверными (поэтому по возможности и интересу пишите в комментарии свои замечания). Хоть и на просторах Интернета спокойно можно найти хорошие (и не очень) библиотеки и примеры реализаций, более общего представления на эти вещи я нашёл не так скоро, да и то, только в ответе на StackOverflow, а этого было мне не достаточно. Во всём найденном есть моменты, которые меня порадовали, есть и которые огорчили. Пожалуй, стоит отменить все печали и радости… чтобы к ним снова вернуться… «Назад… в будущее»!

Интересно? Добро пожаловать!
Читать полностью »


