В субботу в снегу состоялась Восьмая Киевская Хабравстреча. Под катом немного о мероприятии, видео, слайдкасты докладов.
Рубрика «qt» - 32
Отчет о восьмой Хабравстрече
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. Читать полностью »
Мерцание видео при использовании Qt widget и Directshow
2013-03-15 в 8:31, admin, рубрики: directshow, qt, WinAPI, видео, видеоплеер, Программирование, Работа с видео, метки: directshow, Qt, WinAPI, видео, видеоплеер Занимаюсь сейчас разработкой проигрывателя видео под Windows. И «завис» на некоторое время над задачей — после перехода на Qt, видео в проигрывателе начинает моргать и исчезать (см. видео).
Попытки переопределить QWidget::paintEvent невозможны из-за того, что Qt выполняет заливку на (https://qt-project.org/doc/qt-4.8/qwidget.html#autoFillBackground-prop) перед QWidget::paintEvent.
Попытка переопределить WM_PAINT и WM_ERASEBACKGOUND в QWidget::winEvent тоже не удалась, т.к. paintEvent может вызываться не только из WM_PAINT, но и другими сервисами по неизвестному мне алгоритму.
Поэтому ниже приведу решение как выходил из этой ситуации.
Читать полностью »
Qt 5 для Android: превью
2013-03-14 в 7:24, admin, рубрики: android, necessitas, QML, qt, Qt 4, Qt 5, qt quick, Qt Software, портирование, разработка, Разработка под android 
Первый коммит “Android mkspecs and semaphore” в стремлении портировать Qt 4 на Android был совершен на Рождество 2009 года румынским разработчиком BogDan Vatra.
22 января 2010 года он закоммитил “A small step for Qt, a giant leap for android” с работающим плагином графической системы и возможностью запуска приложений на реальных Android-устройствах. Чтобы отпраздновать это событие, он выложил видео с демонстрацией работы.
20 февраля 2011 года он объявил о первом пригодном для разработки релизе Qt 4 для Android под названием Necessitas.
В течение последних 4 лет BogDan, при поддержке таких же, как он, энтузиастов, продолжает разрабатывать Necessitas в свободное от работы время.
8 ноября прошлого года BogDan согласился с добавлением результата его трудов в Qt 5 и передачей порта в Qt Project.
4 января он отправил первую версию Qt 5 для Android в WIP-бранч (Work In Progress), а недавно мы интегрировали её в «dev» бранч, что означает, что этот проект станет частью версии Qt 5.1, когда она будет выпущена.
В этой предварительной версии мы сфокусировались на опыте разработчиков, чтобы вы могли легко запускать и тестировать свои приложения на Android-устройствах. И хотя ничто не мешает вам распространять приложения с Qt 5.1 через app store, мы рекомендуем не делать этого и дождаться релиза Qt 5.2, потому что мы хотим улучшить поддержку ещё больше: внести дополнительные возможности для развёртывания приложений, добавить изысканности в целом, улучшить поддержку Android API, позволив расширить ваше приложение Java-кодом или сопоставленным ему C++ API.
Читать полностью »
Использование Loader в QML
2013-03-12 в 23:30, admin, рубрики: javascript, QML, qt, qt quick, Qt Software, qt4, qt5, Программирование, метки: QML, Qt, qt quick, qt4, qt5, ПрограммированиеДоброго времени суток! В этой статье я расскажу про такой компонент из QML как Loader.
Он позволяет создать контейнер, в который затем можно вложить необходимый qml-элемент, использовать разные элементы в зависимости от состояния программы, а также сделать редко используемые части загружаемыми по требованию и сэкономить ресурсы. Loader является контейнером для QML-компонента и сам по себе не отображается.
Я рассматриваю компонент из QtQuick 2.0 которая входит в Qt пятой версии. В более ранней версии этот компонент также есть, но функционал немного меньше.

