В последнее время на хабре было много хороших постов, раскрывающих аспекты работы с QML: XMLHTTPRequest, Loader, GLSL, но до сих пор никто не упоминал, что Qt Quick 2.0 содержит также компонент Canvas, который даёт нам возможность (сюрприз!) рисовать. Синтаксис использования тот же, что и у HTML5 Canvas, но лично мне, как человеку, далекому от разработки для веба, это ни о чём не говорило.
Продемонстрировать работу с ним я хочу на примере создания каркаса для игры, который, при желании, легко можно будет переделать либо в старую добрую Snake, либо во что-то вроде Achtung, die Kurve!Читать полностью »
Рубрика «qt» - 30
Работа с QML Canvas
2013-04-27 в 5:51, admin, рубрики: canvas, Digia, game development, QML, qt, Qt 5, qt quick, Qt Software, qt5, декларативное программирование, метки: Canvas, Digia, QML, Qt, Qt 5, qt quick, qt5, декларативное программированиеИнтеграция приложения на QML с веб-ресурсами
2013-04-14 в 23:24, admin, рубрики: QML, qt, qt quick, Qt Software, qt5, xmlhttprequest, Вконтакте API, Программирование, метки: QML, Qt, qt quick, qt5, xmlhttprequest, вконтакте apiДоброго времени суток, дорогой читатель! Я хочу рассказать, как интегрировать программу на новомодном языке QML с веб-ресурсами.
Сам по себе, QML — это декларативный JavaScript-подобный язык программирования, который входит в фреймворк Qt. Разработчики Qt настроены серьезно и продвигают его как основной инструмент создания интерфейсов. Более того, достаточно много вещей можно сделать не прибегая вообще к C++, в том числе и возможность работы с веб-серверами.
Веб-технологии все сильнее проникают в нашу жизнь, мы часто пользуемся различными веб-ресурсами. Не всегда удобно для этого запускать браузер, иногда отдельное приложение-клиент гораздо удобнее, о чем красноречиво говорит, например, количество клиентов для различных социальных сетей, особенно на мобильных платформах.
Учитывая, что в Qt 5.1, альфа версия которой вышла на этой неделе, включена начальная поддержка Android и iOS, эта тема может быть особенно интересна тем, кто присматривается к Qt или активно ее осваивает. В этой статье я расскажу, как можно организовать работу с веб-ресурсами из приложения на QML на примере API ВКонтакте.
На всякий случай отмечу, что я рассматриваю последнюю стабильную версию Qt 5.0.2. В более ранних версиях каких-то возможностей может не быть.
Читать полностью »
ACE: самый функциональный редактор кода
2013-04-02 в 10:24, admin, рубрики: ace, ajax.org, cloud9, qt, Qt 5, Qt Software, qt5, Веб-разработка, Программирование, метки: ace, ajax.org, cloud9, Qt, Qt 5, qt5
Здравствуйте, господа!
Я был достаточно приятно удивлен, когда узнал, что проект Ajax.org, именуемый Ace почти ни разу не упоминался на хабре. Ace — это веб-редактор исходного кода нового поколения. Он поддерживает уйму различных функций, среди которых: наличие режимов подсветки синтаксиса для более чем 60 языков программирования, сумасшедщего количества цветовых схем из различных поопулярный IDE, широкой кастомизации вида и функционала, syntax checkers для нескольких скриптовых языков. Так уж получилось, что эта статья скорее всего будет разносторонняя, т.е. содержать материал для веб-разработчиков и С++ программистов, которых я так успешно агитирую в сторону Qt. Итак, что вы можете прочитать в этой статье?
- Быстрый старт с Ace. Где я могу использовать Ace? Почему?
- Портирование Ace на Qt и обертка его API: How-To для создателей Qt5-based библиотек
Сейчас позволю себе показать пару скриншотов example-приложения, которое использует мою библиотеку Novile:
Читать полностью »
Отчет о восьмой Хабравстрече
2013-03-26 в 10:18, admin, рубрики: active directory, bitcoin, cryptography, hp-ux, mobile development, qt, windows phone, Windows Server, Блог компании МУК, Мероприятия, Мобильный веб, системное администрирование, хабравстречи, метки: active directory, bitcoin, cryptography, hp-ux, mobile development, Qt, windows phone, Windows Server, Мероприятия, хабравстречи В субботу в снегу состоялась Восьмая Киевская Хабравстреча. Под катом немного о мероприятии, видео, слайдкасты докладов.
Дробление непрерывного потока данных на структурные единицы
2013-03-25 в 5:03, admin, рубрики: bin packing, c++, qt, микроконтроллеры, Песочница, Программинг микроконтроллеров, протокол, Сетевые технологии, метки: bin packing, c++, Qt, микроконтроллеры, протокол
Достаточно часто возникает ситуация, когда надо передавать блоки данных по непрерывному потоку. В этом случае на первый план выходит вопрос, как отделять один блок данных от другого. На второй план выходит вопрос, передавать ли данные в бинарном виде или в текстовом. Добавим к этому возможность продолжения работы при небольших искажениях (потери, мусор, ошибки взаимодействующих узлов) и необходимость эффективной утилизации канала передачи данных. При этом задача должна решаться на простеньком микроконтроллере с ограниченными ресурсами.
Такие задачи возникают, к примеру, при передаче телеметрии и для управления удаленным оборудованием. С одной стороны обычно стоит простейший микроконтроллер, с другой стороны стоит компьютер. Связь между ними может осуществляться по старому, доброму RS232. Хотя бывает и сложнее, например, выход микроконтроллера UART преобразуется в 802.11b, затем идет распространение радиосигнала до радиомачты и в сервер приходит Ethernet.
Если интересен мой велосипед на эту тему, добро пожаловать под кат.
Читать полностью »
Иерархические модели в Qt
2013-03-23 в 15:59, admin, рубрики: c++, qt, Qt Software, Программирование, метки: c++, Qt, ПрограммированиеПродолжаю тему создания моделей с использованием Qt MV. В прошлый раз была критическая статья по поводу того, как делать не надо. Переходим к позитивной части.
Для создания плоских моделей списков и таблиц можно использовать заготовки QAbstractListModel и QAbstractTableModel. Доведение их до готовности не составляет большого труда, поэтому рассматривать их подробно нет необходимости.
Создание же иерархических моделей – более сложная задача. О ней и пойдет речь в этой статье. Читать полностью »
Qt Creator 2.7: QBS менеджер проектов под капотом
2013-03-23 в 7:09, admin, рубрики: qbs, qt, qt creator, Qt Software, qt5, Программирование, метки: qbs, Qt, qt creator, qt5 Приветствую, друзья! В начале февраля была анонсирована IDE Qt Creator 2.7 beta, и вот 21 марта был представлен релиз 2.7.0.
Итак, из заметных изменений в новом релизе были:
- Улучшенная поддержка интрументариев (Kits);
- Дальнейшая поддержка С++11;
- Изменения в QML и Qt Quick2.
Множество мелких изменений таких как поддержка слияния для git плагина, улучшения в отладчике, но в целом релиз не революционный, а эволюционный.
Знаете, я не буду подробно расписывать все изменения, их можно прочитать в пресс-релизе.
Есть одно для меня заметное новшество — появление в master ветке поддержки QBS плагина. О системе qbs я писал ранее на хабре, но некоторые читатели могли подумать что разработка зависла, или нет значительных результатов — постараюсь в данной статье немного развеять туман.
Что можно будет услышать на Хабравстрече в субботу?
2013-03-21 в 14:50, admin, рубрики: active directory, cloud hosting, cryptography, hp-ux, qt, windows phone, я пиарюсь, метки: active directory, cloud hosting, cryptography, hp-ux, Qt, windows phone Топик посвящен тому что можно будет услышать в субботу на Киевской Хабравстрече.
Читать полностью »
Qt сборка драйвера для работы с PostgreSQL (Windows)
2013-03-18 в 13:54, admin, рубрики: postgresql, qt, Qt Software, windows, метки: postgresql, Qt, windows Небольшое лирическое отступление:
Написать эту заметку меня сподвигло наличие в интернете огромного количества инструкций которые просто цитируют документацию, а реально не работают. Т.к. я работаю с Qt время от времени, то не знаю как обстоят дела с данной проблемой в Qt5.
Проблема
В установку по умолчанию (по крайней мере для версии 4.8.4) драйвер для работы с Postgres не входит.
Официальная документация предлагает собирать его очень простым способом http://qt-project.org/doc/qt-4.8/sql-driver.html#qpsql, но если вы скачивали уже собранное Qt, то будете изрядно озадачены тем, что сборка проходит без ошибок, но ничего не работает.
Читать полностью »
Сейчас я активно пишу под Qt. И встала у меня задачка проверить при запуске приложения, а не запущено ли оно уже. Под линуксом. Велосипеды городить не хотелось, хотелось родить что-то используя готовые классы Qt, чтобы сразу было кроссплатформенно. В винде, например, есть готовое решение — именованные мьютексы (или семафоры, неважно, главное именованные). Стал гуглить. Ага, в Qt есть нечто подобное, называется QSystemSemaphore
. Читать полностью »