
Qt *
Кроссплатформенный инструментарий разработки ПО
Экспорт QML файлов из Photoshop и GIMP
Я сделал небольшое демонстрационное видео, чтобы лучшее продемонстрировать, как это работает на практике:
Qt + Kinetic = Eye-candy за полчаса
Не слишком давно на Хабре появился топик, посвящённый новым возможностям, которые появились в Qt. В частности, в нём описывается новый фреймворк, призванный облегчить создание анимированного пользовательского интерфейса. Если дорогой читатель ещё не в курсе дела, то советую для начала ознакомиться с данной статьей.
Небольшое видео с демонстрацией возможностей:
Qt 4.5 и Qt Creator 1.0 теперь с нами!
- Значительно увеличилась скорость работы графической подсистемы
- Улучшена интеграция с WebKit
- Также Qt был портирован на фреймворк Cocoa от Apple.
Подробный список на официальном сайте
Qt Creator
Qt Creator — это легковесная кросс-платформенная среда разработки, заточенная для разработки под C++ и Qt. Разработка Qt Creator велась с прицелом на две вещи: полностью кросс-платформенная разработка; и простота использования для тех, кто только начинает знакомиться с Qt.
Среда Qt Creator включает эффективный набор средств для создания и тестирования программ на Qt:
- Продвинутый редактор кода на языке C++
- Контекстная помощь
- Визуальный отладчик
- Управление исходным кодом
- Средства управления проектом и сборкой
Qt Creator также распространяется под лицензией LGPL 2.1. На данный момент для разработки поддерживаются только десктопные операционные системы (Windows, Linux и Mac OS), но поддержка платформ для встраиваемых устройств возможно будет добавлена в следующие несколько месяцев.
Всех разработчиков на Qt поздравляю с этим знаменательным событием!
Работа с базами данных в Qt
Граббер для одного книжного сайта
В один прекрасный день я решил написать grabber для книжного сайта и теперь хочу поделиться с вами тонкостями реализации такого рода программных решений. Вся информация представлена исключительно для ознакомительных целей
Многопоточный SOCKS 4 сервер на Qt
- однопоточный асинхронный;
- многопоточный, создавать по потоку на соединение;
- многопоточный, с пулом потоков на QThreadPool и QRunnable.
Когда говоришь про фиксированное количество рабочих потоков со своим циклом обработки событий, то просят привести пример. Дальше будет приведен пример сервера с пулом потоков, каждый из которых имеет свой цикл обработки событий.
Выпуск фреймворка Qt 5.5
Qt позволяет разрабатывать приложения при помощи C++ и декларативного языка программирования QML, поддерживает все основные десктопные и мобильные платформы, а также некоторые встраиваемые и имеет открытый исходный код. Существует коммерческая версия Qt, содержащая дополнительные проприетарные модули.
По сравнению с предыдущей версией, в 5.5 было внесено около 1500 исправлений и добавлен новый функционал. За подробностями прошу под кат.
Кросс-компиляция Qt5 под Linux для Win x32/x64/static/shared
Цель статьи
Документирование получения системы кросс-компиляции под Linux для Windows x32/x64/static/shared и сборка последней на момент описания Qt 5.4.1 в лайт-версии (для указанных четырех целей). Для себя, глубоко-обожаемого, ну и для пользы обществу.
Назначение
Многие разработчики приходят к выводу, что использование *nix (в частности Linux) более предпочтительно для разработки приложений, используя фрэймворк Qt. И тому есть причины. Qt изначально ориентирована на *nix инструментарий, типа autotool, make, perl… И второй момент, под никсами есть прекрасный инструмент — valgrind, под виндой порта пока его не видел. Ну и последняя причина: просто удобно иметь набор инструментария для создания приложений под различные целевые платформы — в одном месте.
Почему лайт-версия Qt5
Фрэймворк-Qt имеет модульную структуру, но, увы, не совсем совершенную. Некоторые зависимости от внешних библиотек «вешаются» не на модуль, требующий эти библиотеки, а на Qt5Core. Иными словами, нужна вам эта библиотека, или нет — вынь да положЪ в дистрибутив. Пример тому «монстрик» — библиотека ICU. Весит она почти 25 метров! Зависимость вешается, как я упоминал выше, на Qt5Core… а требует ее модуль Qt5WebKit (который по сути в 99% случаев не используется, по крайней мере мной). Что делаем? Вырезаем и отрезаем. Хотите получить фулл-версию Qt5? Об этом упомяну в заключении. Поехали.
Qt 5.3: низкий старт в мобильной кроссплатформе
Цель публикации — познакомить читателей с мобильной разработкой на последней версии Qt: показать реализацию основных элементов клиент-серверных приложений и осветить возможные «подводные камни» при работе с библиотеками Qt.
Требуемый уровень подготовки и опыта — минимальный (знание основ C++, элементарное умение конфигурации локального сервера).
Материал для удобства восприятия разбит на 4 части: «Подводные камни», История одного проекта и работа над ошибками, Основы клиент-серверной разработки, Резюме.
Управление графическим интерфейсом с помощью echo и cat

2ГИС для Blackberry 10
12 ноября число платформ, на которых есть 2ГИС, пополнился ещё одной — Blackberry 10.

В связи с этим знаменательным событием, хочется поделиться некоторыми моментами, связанными с опытом портирования.
Qt + OpenCV. Runtime и Widget для CvCapture (устройства видеозахвата)
Введение.
Анализируя замечания предыдущего поста (Qt Designer & Runtime Qt библиотеки на службе OpenCV...), пришлось более детально проработать устройство видеозахвата библиотеки OpenCV и методы разделения библиотек runtime и виджетов.
Работа с Qt Designer удобна (я — лентяй), поэтому и возник компонент проектирования интерфейса для CvCapture. После начала работы подтянулось и «научное » тому объяснение — удобно применить нечто похожее, скажем, при проектировании интерфейса свойств или параметров приложения, использующего устройство видеозахвата.
Пока идёт скачивание архива проекта, читайте далее.
Благодарности.
Спасибо всем, кто оставил свои замечания по предыдущему посту.
Библиотека времени выполнения.
Итак, библиотека OpenCV установлена, примеры кода просмотрены. Самое время «прикрутить» устройство видеозахвата к Qt. Да не просто так, а чтобы и изображения получать, меняя устройства динамически. Да, чтобы помнило все пути к изображению, видео. Да, чтобы и номера камер переключало. Да, чтобы и… пост покороче получился.
Библиотека.
Чего проще! Наследуем новый класс библиотеки от QObject, прячем ненужные разработчику поля и методы в приватный класс как элемент коллекции QScopedPointer, монтируем сигналы оповещения и слоты-обработчики.
Ближайшие события
Релиз Qt SDK 1.1
- Microsoft Windows — Онлайн-инсталлятор (15MB) — Полный установочный файл (1,5GB)
- Linux 32bit — Онлайн-инсталлятор (23MB) — Полный установочный файл (687MB)
- Linux 64bit — Онлайн-инсталлятор (23MB) — Полный установочный файл (690MB)
- Mac OS-X — Онлайн-инсталлятор (12MB) — Полный установочный файл (680MB)
Qt Mobility 1.1.1, QtCreator 2.1.0, Qt 4.7.2
Одновременно вышло обновление для QtCreator (версия 2.1.0) с расширенной поддержкой Qt Quick и разработки для мобильных приложений.
QtMobility 1.1.1 включает множество исправлений ошибок и улучшенные привязки для QML и производительность, в особенности для Symbian.
Qt Mobility 1.1.1 так же входит в состав Qt SDK 1.1 Beta.
Собираем установочные пакеты из Qt проектов по-взрослому
- в первую очередь начинающим разработчикам Qt, которые хотят распространять свои приложения в удобном для пользователей виде;
- разработчикам, использующих другие языки программирования (при небольших изменениях можно получить.
QML — новый подход к построению GUI
Веб дизайнеры же привыкли описывать, как должно выглядеть веб приложение, то есть ставить задачу, а не по пунктам описывать её решение, такой подход называется декларативным, он удобен, но к сожалению в традиционных приложениях до сих пор господствует именно императивный подход. Есть конечно дизайнеры форм, но они лишь позволяют в общих чертах обрисовать внешний вид приложения, но совершенно не способны описать его поведение. Для решения это проблемы в Qt Software был предложен новый проект Declarative User Interface и в рамках него новый язык разметки:
Встречаем QML
Это новый язык разметки, позволяющий описывать не только внешний вид, но и поведение ваших приложений. Он очень прост и обладает json образным синтаксисом, немного сближающим его html5, что думаю очень придется по душе веб-дизайнерам, да и программистам тоже. А в перспективе это наконец позволит полностью разделить внутреннюю логику работы приложения и его внешнее поведение, в результате чего будет наконец решена извечная проблема, когда программист занимается ещё и внешним видом приложения, потому, как дизайнерам слишком сложно было вникнуть в программирование.
Хакнуть Qt: как мы запускали Picture-in-Picture в навигаторе 2ГИС

Привет! Я Егор Ерусланов, Qt-разработчик.
В Android-приложение 2ГИС мы добавили новый режим PiP (Picture-in-Picture, или «картинка в картинке»). С PiP наши пользователи смогут следить за маршрутом в маленьком плавающем окне на основном экране. Например, когда нужно быстро прочитать сообщение или включить подкаст и при этом сохранять фокус на навигации. Режим PiP — это не просто «приятная мелочь», а функциональность, которая подстраивается под новые требования пользователей навигатора.
В этом посте поделюсь, как решал несколько трудностей, которые встретились при разработке этой функции.
VLC 3.0 Vetinari
Неплохо начался и продолжается год для Linux в качестве рабочей станции. Вслед за третьим Wine, настало очередь популярнейшего медиаплеера VLC. После длительного и напряженного цикла разработки VideoLAN анонсировала выпуск видеоплеера с открытым исходным кодом VLC 3.0.0 озаглавленного Vetinari. Новая версия доступна для платформ Linux, *BSD, Mac, IOS, Windows и Android. В новой версии появилось множество современных возможностей: поддержка iPhone X, звука 3D, HDR видео, а также проигрывание видео с оборотом 360 градусов.

Среди самых заметных новшеств следует назвать поддержу видео высокой четкости 4k / 8k, видео 10-бит, проброс HD аудио кодеков, меню BD-J BluRay Java, поддержка NAS устройств, Google Chromecast и FTP, SFTP, SMB подключений.
Развёртывание приложений Qt в Windows

Вступление
Добрый день, уважаемые читатели! Совсем недавно я завершил разработку одного своего приложения на Qt, и мне захотелось создать профессиональную программу установки, чтобы всё было «как у взрослых». Как оказалось, сделать это непросто, учитывая, что на официальном сайте инструментария информации по развёртыванию почти нет. В данной статье рассмотрены некоторые этапы подготовки программ на Qt версии 5.2 или выше для распространения на компьютеры других пользователей. Итак, вот план руководства:
- Подготовка проекта Qt к развёртыванию
- Компоновка дистрибутива программы
- Подписание кода и создание установщика
Не будем терять времени и приступим к работе.
Вклад авторов
Gorthauer87 587.0Assuri 470.0vitaly_KF 331.2Vass 330.0tass 303.0BlackRaven86 275.0rule 242.6FRUCT 239.0Andrey2008 228.0
