Для обмена данными многие современные дроны, собираемые энтузиастами, коммерческие или даже промышленные, используют протокол MAVLink. Я бы хотел поделиться своим опытом работы с этим протоколом в этой, а может и в последующих статьях.
Рубрика «qt» - 13
Разбираемся в MAVLink. Часть 1
2016-10-11 в 12:16, admin, рубрики: c++, mavlink, qt, БПЛА, дроны, протоколы передачи данных, Разработка робототехники, метки: 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, а этого было мне не достаточно. Во всём найденном есть моменты, которые меня порадовали, есть и которые огорчили. Пожалуй, стоит отменить все печали и радости… чтобы к ним снова вернуться… «Назад… в будущее»!
Интересно? Добро пожаловать!
Читать полностью »
Разработка для SailfishOS: основы
2016-07-22 в 12:56, admin, рубрики: qt, sailfish os, мобильная разработка, разработка мобильных приложенийЗдравствуйте! На прошлой неделе я написал о том как начать разрабатывать под мобильную платформу Sailfish OS. Сегодня же я хотел бы рассказать о жизненном цикле приложений Sailfish, о создании страниц приложения и управления ими, а также о некоторых специфических особенностях мобильных приложений, которые следует учитывать при разработке под Sailfish OS, в частности управление ориентацией устройства.
Читать полностью »
GPS трекер на Qt, карта и трек
2016-07-21 в 7:01, admin, рубрики: qt, Qt Quick 2, qt5, ПрограммированиеРешил попрактиковаться в программирование под Android на Qt. В качестве темы выбрал GPS трекер.
Набор функций этого трекера:
- снимать измерения с GPS приемника;
- экспортировать трек в GPX (GPS eXchange Format);
- выводить трек на карту;
- выводить время в пути, длину пути, среднюю скорость.
Под катом будет приведен пример работы с картой в QtQuick.