Здравствуйте! Данная статья является продолжением цикла статей, посвященных разработке для мобильной платформы Sailfish OS и их тестированию. Одна из предыдущих статей была посвящена тестированию QML-компонентов приложения. Однако, часто разработчики сталкиваются с потребностью написания собственных компонентов на языке C++ для использования функционала, недоступного из QML, или для улучшения производительности. Об этом также уже было написано. Тестирование таких компонентов отличается от тестирования уже существующих. В данной статье мы расскажем, как тестировать собственные QML-компоненты, написанные на языке C++.
Читать полностью »
Рубрика «qt» - 10
Разработка для Sailfish OS: Тестирование QML-кода, зависящего от C++ в Sailfish OS
2017-07-17 в 15:51, admin, рубрики: QML, qt, sailfish os, testing, разработка мобильных приложений, Тестирование мобильных приложенийИнтеграция 3D-мыши в Renga
2017-07-13 в 15:17, admin, рубрики: 3d графика, 3d-моделирование, 3DСonnexion, c++, CAD/CAM, qt, qt5, renga, windows, Блог компании АСКОН, манипулятор, манипуляторы, разработка под windows, сапрВсем привет! Я работаю в компании Renga Software (совместное предприятие АСКОН и фирмы «1С»), которая занимается разработкой BIM-систем: Renga Architecture — для архитектурно-строительного проектирования и Renga Structure — для проектирования конструктивной части зданий и сооружений.
В этой статье хочу поделиться опытом интеграции 3D-мыши в систему Renga.
Читать полностью »
О лицензиях Qt (и немного о компании)
2017-06-18 в 22:09, admin, рубрики: licensing, open source, qtВ предыдущей статье про Qt roadmap я обещал рассказать про Qt 3D Studio и текущую ситуацию с лицензиями. Qt 3D Studio уже было выпущено два (пока писал статью, вышел третий) внутренних релиза, но статьи про неё пока не будет, так что сегодня расскажу про лицензии.
Система лицензирования Qt и раньше не особо отличалась простотой, но сейчас она особенно усложнилась, так как добавились (и добавляются) новые продукты и вместе с ними дополнительные условия соответствующих лицензий. Официальный сайт не сильно помогает разобраться, хотя и содержит текст условий и соглашений.
Но речь пойдёт не сразу про лицензии, сначала я хочу рассказать немного о компании, чтобы было понятно, кто именно сейчас занимается разработкой/распространением фреймворка и вообще стоит за Qt.
Катаем «смоляной шарик» или создание собственных правил сборки с помощью Qbs
2017-06-06 в 13:37, admin, рубрики: qbs, qt, системы сборкиQbs (Qt Build System) — система сборки, позволяющая описывать процесс сборки проектов на простом языке QML (javascript-подобный декларативный язык), ускоряющий процесс сборки продуктов за счет построения подробного графа зависимостей. Хоть эта система и создана разработчиками Qt, но она жестко не привязана к Qt и позволяет собирать любые продукты, для любых языков программирования и даже использоваться не для программирования, а например для администрирования. Как заявлено в официальной документации:
A product is the target of a build process, typically an application, library or maybe a tar ball
Сегодня и рассмотрим процесс создания своих продуктов. Поехали…
Читать полностью »
Создаём PDF просмотрщик за пару часов
2017-05-28 в 14:55, admin, рубрики: qt, Qt pdf.js, метки: Qt pdf.jsДавно про Qt не писали, потому сделаем что-то простое но мощное. Фреймворк был создан уже более десяти лет тому (скоро и 20), но всё ещё продолжает нас радовать и удивлять благодаря усилиям Qt сообщества.
Я хочу показать пример разработки приложения с затратой небольших усилий на стыке технологий создания десктопных приложений и веб-программирования.
Несколько недель тому я искал способ конвертации специфических PDF документов в изображения с учетом возможности автоматизации и скриптования в будущем. Конечно есть старожил — пакет ImageMagic с утилитой convert, но к сожалению я столкнулся с тем что этот инструмент не так хорош как я ожидал именно на этих файлах — не рендерит корректно многие файлы и что совсем не радовало — многие иллюстрации были испорчены.
Я стал искать другие инструменты и хотя всевозможных утилит очень много но у каждой есть свои особенности так что я так и не выбрал какую использовать.
Вместо этого у меня появилась идея, может ли Qt как довольно зрелая технология помочь мне? В Qt очень просто создать PDF документ с помощью QPrinter, но как насчет обратной функциональности - сделать изображение из PDF страницы? А ведь есть ещё одна хорошо проработаная технология — PDF.js.
Можно ли совместить эти две технологии? Конечно! Qt имеет компонент QWebEngineView. Продемонстрируем в коде:
Создание моделей данных для QComboBox
2017-05-22 в 16:15, admin, рубрики: c++, qcombobox, qt, qtgui, qtsqlВсем привет! Хочу поделиться с вами двумя способами, как можно и нужно создавать модели данных для виджетов типа QComboBox в Qt. В конце статьи будет показано решение, для заполнения комбобокса из БД, одной строкой кода.
Читать полностью »
Автоматизация обмена данными Qt форм с SQL базой данных
2017-05-15 в 8:35, admin, рубрики: c++, qt, qtgui, qtsql, sql, sqlite, метки: qtgui, qtsqlДанная статья описывает решение для выполнения рутинных процедур заполнения и сохранения данных форм виз SQL базы данных. Код сложный. Для его понимания надо хорошо знать фреймворк Qt по части QtGui, QtSql. И хотя бы средне C++.
Разработка для Sailfish OS: Особенности работы с датами и временными зонами
2017-05-03 в 13:56, admin, рубрики: QML, qt, sailfish os, временная зона, разработка мобильных приложенийЗдравствуйте! Данная статья является продолжением цикла статей, посвященных разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдет об особенностях работы с датами и временными зонами в QML. Начнем статью с описания самой проблемы, а потом перейдем способам её решения.
Читать полностью »
Развенчание мифов о мета-объектном компиляторе Qt
2017-04-24 в 10:07, admin, рубрики: c++, moc, qt, Блог компании Инфопульс Украина, Компиляторы, Проектирование и рефакторингЯ часто встречаю критику фреймворка Qt, в которой ему пеняют использованием мета-объектного компилятора (утилиты moc). Как один из разработчиков moc, я решил написать данную статью с целью развенчать некоторые связанные с этим мифы.
Вступление
Moc — это один из инструментов разработчика и часть библиотеки Qt. Его задача — поддерживать расширение языка С++, необходимое для интроспекции и рефлексии в Qt (сюда относятся сигналы, слоты и QML). Для более детального объяснение вы можете почитать о том, как работают сигналы и слоты в Qt.
Необходимость использования moc является одним из главных объектов критики Qt. Это даже привело к появлению форков Qt, принципиально отказавшихся от moc (например, CopperSpice). Но всё-же большинство приписываемых moc так называемых недостатков не обоснованы.
Читать полностью »
Средства диагностики Плагин для Qt Creator
2017-04-24 в 1:29, admin, рубрики: c++, qt, метки: c++ библиотеки, QtДоброго времени суток. Недавно загорелся идеей написать простой, но функциональный плагин для среды разработки Qt Creator, предназначенный для визуализации данных об использовании оперативной памяти и загрузки ЦП текущим запущенным процессом. В качестве вдохновения для меня послужил инструментарий «Средства диагностики», присутствующий в Visual Studio. Ниже я расскажу об основных деталях разработки.
