Обновить
4.84

Qt *

Кроссплатформенный инструментарий разработки ПО

Сначала показывать
Период
Уровень сложности

Qt: работа с Vkontakte API и Phonon

Время на прочтение12 мин
Охват и читатели20K
Qt
Статья описывает взаимодействие Qt c такими программными интерфейсами как Vkontakte API и Phonon, в реальных примерах и подробным описанием.
В конце статьи ссылка на репозиторий с исходным кодом который Вы можите свободно скачать и запустить.
Читать дальше →

Попытки сделать изучение алгоритмов поиска пути проще

Время на прочтение8 мин
Охват и читатели25K
Алгоритмы поиска пути — неотъемлемая часть разработки игр. А также различных систем навигации, ориентации и много чего ещё. Но мы сосредоточимся на именно игровой индустрии и алгоритмах, которые в ней применяются.

Каждый игровой разработчик сталкивается с задачей, в которой требуется заставить персонажа(или бота) пройти из одной точки в другую, при этом не собрав все стены. А разработчикам стратегий ещё нужно учитывать проходимость клеток(дороги, болота, леса и так далее). Вот здесь на помощь приходят алгоритмы поиска пути.

image
Читать дальше →

Qt Coding Style

Время на прочтение5 мин
Охват и читатели45K
Qt Coding Style по версии Qt
Привет, хабражители!

Сейчас какой-то спец с многолетним опытом работы с Qt подумал: «Что за фигня? Хабр — для вещей покруче!». Но ведь даже спецам с многолетним опытом иногда надо читать вот такие статьи про простые вещи, ведь это — важно. Код — это одна из самых важных составляющих программирования. А наша задача — держать его в чистоте. Эта статья посвящена всем Qt программистам которые стремятся к идеалу.

Конечно есть статья на Qt Project — Qt Coding Style. Только вот там материала ценного меньше…
Все-таки решили почитать? Ну тогда - поехали!

Qt — трудности перевода

Время на прочтение6 мин
Охват и читатели66K
Вы написали программу на Qt и хотите перевести ее на другие языки, что бы сделать ее полезной для людей в других странах. Сделать это не просто, а очень просто. Для этого нам потребуется сделать всего три простых шага.
Читать дальше →

Подводные грабли SmartTV разработки

Время на прочтение6 мин
Охват и читатели16K
image

Привет, Хабр!

Уже давно была идея написать статью о проблемах SmartTV разработки, но по ходу погружения в эту область, мы изобрели свой велосипед, который помогал нам эти проблемы решать. Поэтому, в данной статье, мы не только осветим некоторые проблемные моменты SmartTV разработки, но и расскажем о том как их решить с помощью очередного нового фреймворка PureQML.

Всем кому интересна данная тема или просто любопытно посмотреть на новый фреймворк, который может и в SmartTV, просим под кат.

Новости Qt, июнь 2017 — май 2018

Время на прочтение15 мин
Охват и читатели16K

Что нового появилось/произошло в Qt за полгода почти год с прошлой статьи. Релизы 5.9 и 5.10, а также новые инструменты, аддоны, платформы и переход на подписочную модель лицензирования.


Релизы Qt

Читать дальше →

Программируем микроконтроллеры stm32 при помощи QtCreator

Время на прочтение4 мин
Охват и читатели68K

Как-то так незаметно получилось, что программист, который разрабатывал нам прошивку для микроконтроллера, стал банально не успевать и в некоторые моменты я начинал перехватывать инициативу и самостоятельно браться за исправление ошибок.
Разработка велась в среде IAR, и многие согласятся со мной, что по сравнению с разработкой в QtCreator'е это боль и страдание.
В какой-то момент мы решили, что быстрее нанять нового программиста и вместе с ним заново переписать прошивку контроллера stm32, так, как я к этому моменту уже немного сам смыслил в их программировании и к тому же обнаружил, что QtCreator умеет отладку на голом железе (плагин BareMetal), я решил принять в этом активное участие.
Здесь я хочу поделиться шаблоном проекта для stm32f407 от Terra Electronica и рассказать об особенностях его настройки.
Читать дальше →

Захват изображений с веб-камеры через QCamera

Время на прочтение8 мин
Охват и читатели47K
Привет, хабр!

В этой статье я расскажу о работе с веб-камерой из Qt5 под Windows (но пример также должен работать под Linux и Mac OS X с установленным плагином gstreamer).



Если интересно, как сделать вот такое приложение и преодолеть возникающие при этом проблемы, то прошу под кат.
Да, мне интересно!

QML Live Preview — мечта UI-дизайнеров

Время на прочтение1 мин
Охват и читатели4.6K
Немногие знают, что в последних версиях QtCreator'а есть поддержка QML Live Preview — возможности править код и сразу же видеть изменения на уже запущенной программе, причем как на десктопе/эмуляторе, так и на реальном устройстве.
Дико удобная вещь, позволяет экономить тонну времени на этапе разработки/правки UI.

Всё это, вместе с другими плюшками для дебаггинга QML работает из коробки на версиях QtCreator > 2.3. Для Qt версии 4.8 отладка QML включена по-умолчанию, для 4.7 необходимы легкие телодвижения в виде нажатия на одну кнопочку.

Небольшая демонстрация того, как это работает на примере Nokia N950:


Под катом ещё одно симпатичное видео.
Читать дальше →

HOMEd: A почему «d»? Чтобы никто не догадался

Время на прочтение5 мин
Охват и читатели16K

Это случилось обычным воскресным вечером, лет 15 назад. Завтра - понедельник, на работу, значит пора ложиться спать. По всей квартире горит свет, надо идти выключать, но лень! Хочу чтобы одной кнопкой все выключалось! Знакомая ситуация, не правда ли?

На тот момент о программировании я знал немного, об электронике чуть меньше, а про умные дома - вообще ничего. Но сегодня я смело могу сказать, что теперь я кое-что знаю об этом. За это время мы вместе с моим жилищем прошли огромный путь из проб и ошибок, многому научились и осенью прошлого года совместно решили, что пора показать себя людям.

Читать далее

Сборка Qt 5.1 приложений под Android на Mac, seriously?

Время на прочтение2 мин
Охват и читатели33K
image
Привет, QHabr.

Сегодня хотел бы рассказать вам про адъ, который кроется за сборкой Qt 5.1 приложения для андрюши на Mac OS X. Чтобы никто их хабралюдей ни в коем случае не попал туда на 7-8 часов, я решил сделать подробный step-by-step гайд. Ну что, приступим к делу.

Совсем недавно, Qt Project анонсировал Qt 5.1 RC1. Это пока достаточно рабочий свежак, но с неплохими нововведениями. Одно из них — поддержка кросс-компиляции Android. Замечательно, не так ли? Они даже любязно предоставили нам сборку кьюта под android… для Linux. Но как же быть тем, кто использует Mac, или куда более ущербный Windows для разработки? А ничего, собирайте сами.

Но сборка последнего Qt из Git, с нужными параметрами под маком, не говоря о Windows — это адъ. Сегодня я помогу вам спасти свои души!
Читать дальше →

Drag'n'Drop в QML — это просто! Или 5 шагов до цели

Время на прочтение6 мин
Охват и читатели19K
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

Drag'n'Drop является неоспоримо важным элементом взаимодействия пользователя и графического окружения. К сожалению, в QML нет встроенного механизма Drag'n'Drop для View. Поэтому, я написал небольшой пример на основе GridView с 16 изображениями.

Этот пример Drag'n'Drop-а не претендует на совершенство (есть несколько других реализаций, которые визуально возможно более совершенны), а больше преследует цель показать, что QML является очень гибким и простым средством разработки.

Для начала небольшое видео, а под катом 5 простых шагов для получения подобного результата.


5 шагов до цели

Обзор ORM для Qt

Время на прочтение16 мин
Охват и читатели18K

Введение



Добрый день, уважаемые коллеги-программисты!

Вот уже год в мире Qt происходят очень интересные события. Здесь вам и недавний выпуск версии 4.7, и концепция QML, и значительная интеграция библиотеки в мобильные платформы. В Qt водятся самые правильные тролли; мне нравится то, что они делают, и куда развивается эта библиотека. Готов даже поспорить, что она – лучшая в своем классе, но те, кто пишут на Qt, и так это знают.

Есть кое-что ещё, изменившееся за годовой период. Для Qt стали появляться ORM-библиотеки, одна за другой, как грибы. Свято место пусто не бывает? Спрос есть, вот вам и предложение. О том, что происходит в мире Qt ORM, читайте в этой статье. Я постараюсь дать максимум информации по использованию и механизмам, применяемым в обозреваемых библиотеках; но ни одна из них не может быть освящена полностью по причине, что любая ORM – весьма сложный комплекс из программистских решений.

(Замечу сразу, что статья в некоторой степени рекламная, поскольку появилась она из-за моей собственной ORM; однако, справедливости ради, я не только пиарю себя, но и даю общую оценку того, что сейчас есть по теме. Прошу отнестись с пониманием: намерения самые благие).

Читать дальше →

Ближайшие события

Qt 4.7.0 Tech preview & QtCreator 2.0 alpha

Время на прочтение2 мин
Охват и читатели1K
Сегодня вышел Qt 4.7.0 Tech preview, предварительная версия для людей желающих как можно скорее ознакомиться с новшествами Qt (такими как Qt Quick), Окончательный же релиз Qt 4.7.0 планируется на середину этого года.
Основные нововведения

Приручаем динозавров, или как я писал свой собственный host controller для лаборатории 3D-печати

Время на прочтение15 мин
Охват и читатели22K


В этой статье я хочу рассказать о своем опыте разработки свободного ПО для управления 3D принтерами на Qt5, проблемах и особенностях общения с RepRap'ами и прочим радостям.

Результатом этого опыта стал RepRaptor — минималистичный свободный host-controller для 3D принтеров.



Всех интересующихся приглашаю под кат.
Много текста обо всем

Qt Meta System over Network. Часть 1 — свойства

Время на прочтение6 мин
Охват и читатели14K

У меня с завидной регулярностью появляется задача написания клиент-серверных приложений с использованием Qt. И я подумал – почему бы не упростить этот процесс? В самом деле, зачем каждый раз изобретать какой-то новый протокол, если можно использовать привычные сигналы и слоты? Что-то подобное уже есть, например D-Bus или QRemoteSignal, но мне они показались не очень удобными, да и некоторых возможностей в них нет.
Читать дальше →

Небольшой тест скорости QCoreApplication

Время на прочтение2 мин
Охват и читатели4.8K
Для надежности и безопасности, часто имеет смысл разделить функционал приложения на множество небольших исполняемых файлов (демонов), вместо того, чтобы поддерживать крупное и монолитное приложение.

В своё время, Qt4 была разделена на несколько модулей, что в частности позволило создавать приложения, не требующих графического интерфейса. Благодаря сильной фокусировке на архитектуре встраиваемых систем и нескольким здравомыслящим решениям в области архитектуры, Qt5 вывела данный подход на новый уровень.

Давайте посмотрим на простую функцию:
QCoreApplication app(argc, argv);
QTimer::singleShot(3000, &app, SLOT(quit()));
return app.exec();

Это Qt-приложение, не имеющее графического интерфейса. Оно работает 3 секунды и затем завершается.
Читать дальше →

Пишем панель для i3 window manager на Qt

Время на прочтение9 мин
Охват и читатели9.1K
i3 — мой любимый тайловый менеджер окон. Но совсем недавно, занявшись очередной перекраской своего десктопа, я наткнулся на одну пренеприятнейшую вещь: функционала родной панели совсем не хватает для воплощения всех моих фантазий. В частности, она не умеет менять размер или изменять цвет границ. А что делает линуксоид, когда ПО его не устраивает и нет альтернатив(а их нет)? Правильно, патчит существующее, либо пишет своё. Разбираться с xcb, на котором написана стандартная панель у меня совершенно нет желания, поэтому я пошёл вторым путём. В качестве языка был выбран C++. Про фреймворк спросите у К.О.
Читать дальше →

Выпущена бета Qt Creator 2.2

Время на прочтение1 мин
Охват и читатели902
Сегодня в блоге Qt Labs было сообщено о выходе первой бета-версии IDE Qt Creator 2.2. Релиз был назван в честь умершего белого медведя Кнута (Knut Creator). Помимо множества багфиксов в бету было добавлено несколько серьезных улучшений, в частности поддержка системы управления версиями Bazaar, сниппеты кода, улучшенный дебаггер.
Читать дальше →

Пишем виджет рабочего стола под Maemo5 на Qt. Часть первая

Время на прочтение9 мин
Охват и читатели2.9K
Доброго времени суток хабрачеловек. Продолжаю писать статьи о N900. На этот раз адресую ее разработчикам. И не только разработчикам для N900 а всем разработчикам вообще.
Адресую всем разработчикам, так как возникает достаточно много споров о том, что для N900 писать не перспективно. По крайней мере у меня сложилось такое впечатление, после прочтения комментариев в обсуждениях моей предыдущей статьи. Вот в этой статье я попытаюсь показать что это не так.
image
В этой и следующей статьях я продемонстрирую создание приложения для N900 на Qt. И это не простое приложение, а виджет рабочего стола. Исходными данными будут:
  • отсутствие знаний Hildon и GTK;
  • отсутствие специфичных знаний о мобильных платформах вообще;
  • небольшие знания разработки настольных приложений на Qt/С++ или на любом другом языке (в этом случае придется потратить немного больше времени за чтением Qt-документации);
  • немножко усидчивости и заинтересованности(хоть это и самый последний пункт, но совершенно очевидно, что он самый важный).

Таким образом я намереваюсь продемонстрировать, что создание приложений на Qt действительно не требует знаний специфики платформы в подавляющем большинстве случаев. И если приложение использует только Qt API, то оно является абсолютно переносимым между официально поддерживаемыми платформами.
Инструкции и результаты под катом.

Вклад авторов