• Qt: Вывод отчета стандартными средствами (или живем без генераторов отчета)

    Нудное вступление с Qt 4.8


    Недавно коллега по работе спросил об опыте использования построения отчетов под Qt (начинаем потихоньку внедрять SCADA, написанную на Qt) — в силу поставленной задачи очень нужная вещь. Генераторами никто не пользовался (на данной платформе), но отчеты мы я каким-то образом делали без использования FastReport и таскания лишних приложений.

    Покопавшись в проектах, нашел приложение с отчетами, виджетами для предпросмотра (QLabel, QTableView....). Вид отчета «preview»:

    image
    Читать дальше →
  • Применение Q_GADGET в C++&QtQuick

      Смотрю на форумах рунета, люди начинают писать на 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: стилизация приложения

      • Tutorial
      Здравствуйте! Данная статья продолжает цикл статей посвящённых разработке приложений под Sailfish. В прошлых статьях я описал как начать разрабатывать под мобильную платформу Sailfish OS и рассказал об основах разработки под данную платформу. В этой же статье я расскажу о том, как сделать так, чтобы ваше приложение, с точки зрения стиля и размеров, выглядело как стандартное приложение для платформы SailfishOS.
      Читать дальше →
      • +15
      • 5,6k
      • 2
    • Undo и Redo — анализ и реализации

        Привет, Хабр! В связи со своей реальной задачей проанализировать возможности Qt и .NET для реализации так называемых «Назад» (Undo) и «Вперёд» (Redo), цель которых отменить действие и отменить отмену соответственно, я решил все свои мысли, идеи и задумки развернуть в этой статье, даже если они будут частично или совсем неверными (поэтому по возможности и интересу пишите в комментарии свои замечания). Хоть и на просторах Интернета спокойно можно найти хорошие (и не очень) библиотеки и примеры реализаций, более общего представления на эти вещи я нашёл не так скоро, да и то, только в ответе на StackOverflow, а этого было мне не достаточно. Во всём найденном есть моменты, которые меня порадовали, есть и которые огорчили. Пожалуй, стоит отменить все печали и радости… чтобы к ним снова вернуться… «Назад… в будущее»!


        Интересно? Добро пожаловать!
        Do!
      • Разработка для SailfishOS: основы

        • Tutorial
        Здравствуйте! На прошлой неделе я написал о том как начать разрабатывать под мобильную платформу Sailfish OS. Сегодня же я хотел бы рассказать о жизненном цикле приложений Sailfish, о создании страниц приложения и управления ими, а также о некоторых специфических особенностях мобильных приложений, которые следует учитывать при разработке под Sailfish OS, в частности управление ориентацией устройства.
        Читать дальше →
      • GPS трекер на Qt, карта и трек

          Решил попрактиковаться в программирование под Android на Qt. В качестве темы выбрал GPS трекер.
          Набор функций этого трекера:


          • снимать измерения с GPS приемника;
          • экспортировать трек в GPX (GPS eXchange Format);
          • выводить трек на карту;
          • выводить время в пути, длину пути, среднюю скорость.

          Под катом будет приведен пример работы с картой в QtQuick.


          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • Использование механизма SRR в приложениях разработанных на Qt для QNX

          • Tutorial

          Фреймворк Qt один из самых популярных и применяемых при разработке кроссплатформенных настольных и мобильных приложений. Эта популярность не могла рано или поздно не привести к использованию Qt в системах специального и ответственного назначения. Достаточно давно существует возможность разработки на Qt для QNX Neutrino. Библиотека Qt поддерживает платформу QNX, а среда разработки Qt Creator обеспечивает взаимодействие с системами на QNX. Однако QNX, как система в том числе и для встраиваемых решений, имеет в своём составе технологии, которые не требуются, а потому и отсутствуют в системах общего назначения. Ключевая для ОСРВ QNX функциональность, на которой построена сама система и на которую нередко опираются пользовательские задачи это передача сообщений. Об особенностях применения механизма SRR (Send/Receive/Reply), как ещё называют передачу сообщений в QNX, и о разработке двух примеров Qt-приложений — клиента и сервера — я и хотел бы рассказать сегодня.

          Читать дальше →
        • Разработка Android приложений с использованием qt и android studio часть вторая

          • Tutorial
          Доброго времени суток всем посетителям и пользователям Хабра!

          Недавно я на эмоциях опубликовал статью, где я рассказывал о всех своих злоключениях при попытки создать qt приложение ( а именно вызвать и использовать
          QApplication a(argc, argv);
          
          и использовать его при помощи андроид студии. Было найдено «решение», которое было чрезвычайно костыльным. Теперь у меня были выходные, чтобы разобраться как надо работать с qt без таких костылей из андроид студии. Всем кому интересно — добро пожаловать под кат!
          Читать дальше →
        • Начало разработки для Sailfish OS

          • Tutorial
          Sailfish OS — это мобильная платформа, основанная на ядре Linux. Прочитать о ней можно на официальном сайте или в одном из обзоров платформы в сети. Например, один из них был опубликован на GeekTimes. В данной статье я хотел бы затронуть сам процесс разработки приложений для Sailfish OS, рассказать о том как начать программировать под данную платформу, а также поделиться некоторыми особенностями разработки.

          Читать дальше →
          • c# developer
            от 80 000 до 150 000 руб.
            Rocketrobot Санкт-Петербург Полный рабочий день
          • Дизайнер web и ui/ux
            от 70 000 руб.
            Rocketrobot Санкт-Петербург Полный рабочий день
          • ФАРМИЯ Воронеж Полный рабочий день
        • Опыт разработки управляющего ПО для квеструма

            Последние год-полтора пользуются большой популярностью т.н. квеструмы, квесты «выйди из комнаты» реализованные в реальной жизни. Когда я ходил на первые квесты, большая часть задачек сводилась к поиску ключей и кодов для механических замков, магнитные замки были чем-то крутым и редким, не говоря уже о беспроводных интерфейсах, но чем дальше, тем более технически сложным становится это развлечение. В конце зимы мой друг, работающий в одной из таких контор, попросил помощи в написании управляющей программы для одного из их квестов, поскольку у них слился программист и начали гореть сроки. Задача была интересной, деньги неплохими, да и хорошего человека выручить не грех, поэтому я согласился, хоть и обидно было понимать, что на этот квест я не пойду, так как буду знать весь его сценарий. Сроки изначально ставилися очень сжатые, поэтому для разработки я выбрал привычную среду С++\Qt5.5.
            Быстро стало понятно, что я совершил большую глупость, взявшись за работу с не очень хорошо прописанным тз, но подозреваю, что эту ошибку так или иначе совершал каждый, поэтому смысла о ней писать никакого, это не подводный камень, это самые обычные грабли.

            С аппаратной точки зрения управляемая часть квеста выглядит следующим образом:
            • Основной компьютер, стоящий в операторской, на котором работает программа
            • Две звуковые карты в нём, к каждой из которых подключено по 5 колонок
            • Телевизор, подключенный вторым экраном
            • Два USB-свистка, являющиеся переходниками с USB на COM-интерфейс
            • Пачка диммеров и релейников, управляемых по MODBUS


            В первичной постановке задача выглядела довольно простой, читать данные по MODBUS, писать данные по MODBUS, в нужные моменты проигрывать звук в нужную колонку и видео на второй экран. Как показала практика, всё это действительно делается не очень сложно. Но вот понять, как это сделать не очень сложно — уже не столь банально.
            Читать дальше →
            • +11
            • 6,7k
            • 6
          Самое читаемое