На хабрахабре уже была статья «Применение шейдеров OpenGL в QML», в которой рассмотрены теория и примеры использования шейдеров в Qt Quick 1.0. Прошло больше года, фреймворк претерпел массу изменений: состоялся релиз Qt 5 и шейдеры теперь являются частью Qt Quick 2.0, а не вынесены в отдельный модуль и синтаксис их использования, естественно, также изменился. Сразу оговорюсь, что с GLSL я сам знаком весьма посредственно, зато имею опыт работы с QML, поэтому в этой статье хочу разобрать работу с фрагментным шейдером на примере компонента LedScreen, разработанного сообществом QUIt Coding (наверняка многие из вас видели его в демо-ролике на YouTube):
Читать полностью »
Рубрика «qt5» - 6
QtQuick 2.0 и шейдеры OpenGL
2013-01-23 в 12:45, admin, рубрики: Digia, glsl, OpenGL, QML, qt, Qt 5, qt quick, Qt Software, qt5, shaders, метки: Digia, glsl, OpenGL, QML, Qt, Qt 5, qt quick, qt software, qt5, shadersПортируем Qt4 приложение на Qt5
2013-01-04 в 14:00, admin, рубрики: c++, porting, programming, qt, Qt Software, qt5, Программирование, метки: porting, programming, Qt, qt5Где-то здесь не так давно был пост о нововведених в Qt5. Всё вроде выглядит замечательно, но как же обстоят дела на самом деле в отношении уже имеющихся приложений? В этой статье я рассмотрю пример портирования одного из своих проектов на Qt5 с сохранением совместимости исходников с Qt4.
Сборка Qt 5 в Visual Studio 2008
2012-12-29 в 14:01, admin, рубрики: qt, qt plugins, Qt Software, qt5, Visual Studio, windows, метки: Qt, qt plugins, qt5Всех с наступающим!
Digia предлагает Qt5 для Windows только скопилированную под Visual Studio 2010, причем с параметрами, которые не для всех идеальны. В частности это
- Собственно, сама необходимость использовать только VS2010
- зависимость Qt5Core.dll (и соответственно вашего приложения) от ICU. Это следущие DLL-ки: icuin49.dll, icudt49.dll, icuuc49.dll
- зависимость Qt5Gui.dll от Angle Library. Это следущие DLL-ки — libEGL.dll, libGLESv2.dll
- зависимость от Visual C++ 2010 Runtime (msvcr100.dll, msvcp100.dll). Для большинства это пожалуй не минус, т.к. в случае 2008 студии идут другие DLL-ки (msvcp90.dll и msvcr90.dll). Однако, во-первых последние стоят на многих машинах, а во-вторых в конце статьи будет приведет удобный способ таскать их с собой без необходимости устанавливать Microsoft Visual C++ 2008 Redistributable Package при установке вашего приложения.
В конце также будет рассмотрен вопрос последущего распространения приложений.
Читать полностью »
Qt 5.0.0 вышел!
2012-12-19 в 15:20, admin, рубрики: awesome, qt, Qt Software, qt5, Программирование, метки: awesome, Qt, qt5 Они все-таки успели!
Буквально менее часа назад, новый владелец Qt Framework — компания Digia, объявило о выходе долгожданного релиза Qt 5.0
Подкаст «Заметки о Qt» s02e02
2012-11-01 в 10:00, admin, рубрики: c++, Digia, QML, qt, qt creator, Qt Software, qt5, конкурс, Программирование, метки: c++, Digia, QML, Qt, qt creator, qt5, конкурс Мы с Vass записали и выложили вторую серию второго сезона подкаста «Заметки о Qt».
Сам подкаст на rpod.ru — qt-notes.rpod.ru/287388.html
Результаты конкурса внутри!
Читать полностью »
Подкаст «Заметки о Qt» s02e01
2012-09-19 в 9:32, admin, рубрики: c++, Digia, qt, qt creator, Qt Developer Conference, Qt Software, qt5, Raspberry Pi, Visual Studio, конкурс, подкасты, Программирование, метки: c++, Digia, Qt, qt creator, Qt Developer Conference, qt5, Raspberry Pi, Visual Studio, конкурс Мы с Vass записали и выложили первую серию второго сезона подкаста «Заметки о Qt».
Сам подкаст на rpod.ru — qt-notes.rpod.ru/284337.html
Теперь с конкурсом!
Читать полностью »
Поток рендеринга анимации в Qt Quick 2.0
2012-08-20 в 15:21, admin, рубрики: qt, qt quick, Qt Software, qt5, threadsОдним из недостатков Qt Quick API является то, что хоть рендеринг и выполняется в выделенном потоке, тем не менее наша анимация всегда работает в потоке графического интерфейса пользователя.
Запуск же анимации за пределами основного потока приложения имеет то преимущество, что значительно снижает влияние ресурсоёмких задач на анимацию, которые обычно блокируют основной поток и приводят к задержкам анимации.
Существуют три основные проблемы, препятствующие нам вынести анимацию в отдельный поток:
- Анимация обновляющаяся при изменении свойств. Свойства являются частью QObject и системы мета-объектов. Чтобы избежать безумия с потоками, нам разрешается лишь читать и писать эти свойства в потоке графического интерфейса пользователя.
- Свойства часто имеют привязки и связи в QML, которые вызывают JavaScript-код, при наступлении неких событий, который также должен выполняться в потоке GUI.
- Цикл рендера в библиотеке QtQuick завязан на поток GUI, а следовательно, когда данный поток заблокирован, анимация не обновляется.
Небольшой тест скорости QCoreApplication
2012-08-14 в 16:08, admin, рубрики: callgrind, performance, qt, Qt Software, qt5, valgrindДля надежности и безопасности, часто имеет смысл разделить функционал приложения на множество небольших исполняемых файлов (демонов), вместо того, чтобы поддерживать крупное и монолитное приложение.
В своё время, Qt4 была разделена на несколько модулей, что в частности позволило создавать приложения, не требующих графического интерфейса. Благодаря сильной фокусировке на архитектуре встраиваемых систем и нескольким здравомыслящим решениям в области архитектуры, Qt5 вывела данный подход на новый уровень.
Давайте посмотрим на простую функцию:
QCoreApplication app(argc, argv);
QTimer::singleShot(3000, &app, SLOT(quit()));
return app.exec();
Это Qt-приложение, не имеющее графического интерфейса. Оно работает 3 секунды и затем завершается.
Читать полностью »
Захват изображений с вебкамеры через QCamera
2012-07-31 в 13:55, admin, рубрики: c++, directshow, qcamera, Qt Software, qt5, баги, обработка изображений, метки: c++, directshow, qcamera, qt5, багиПривет!
В этой статье я расскажу о работе с веб-камерой из Qt5 под Windows (но пример также должен работать под Linux и Mac OS X с установленным плагином gstreamer).
Если интересно, как сделать вот такое приложение и преодолеть возникающие при этом проблемы, то прошу под кат.Читать полностью »
Захват изображений с веб-камеры через QCamera
2012-07-31 в 13:55, admin, рубрики: c++, directshow, qcamera, Qt Software, qt5, баги, обработка изображений, метки: c++, directshow, qcamera, qt5, багиПривет!
В этой статье я расскажу о работе с веб-камерой из Qt5 под Windows (но пример также должен работать под Linux и Mac OS X с установленным плагином gstreamer).
Если интересно, как сделать вот такое приложение и преодолеть возникающие при этом проблемы, то прошу под кат.Читать полностью »