Во время работы над своей презентацией для Qt developer days 2012 (QtCore in depth), я произвёл сравнение производительности QMap и QHash и подумал, что неплохо было бы поделиться результатами в этой короткой статье.
Читать полностью »
Рубрика «qt» - 32
QMap vs. QHash: небольшой бенчмарк
2013-02-20 в 11:38, admin, рубрики: c++, qt, Qt Software, qt4, qt5, контейнеры, переводыИспользование кадрового буфера в Qt 5
2013-02-10 в 13:55, admin, рубрики: c++, OpenGL, qt, Qt Software, qt5, переводы Во времена Qt 4 можно было ускорить рисование QPainter с OpenGL используя класс QGLPixelBuffer: он предоставляет удобный и быстрый способ создания поверхности для рисования, рендеринга на неё (с помощью обычных методов QPainter) и захвата конечного результата как QImage.
В Qt 5 QGLPixelBuffer по-прежнему существует, но он считается устаревшим в пользу объектов кадрового буфера, обёрнутых в Qt в класс QOpenGLFramebufferObject. Однако QOpenGLFramebufferObject это не QPaintDevice, поэтому мы не можем использовать QPainter прямо на нём.Читать полностью »
Сборка Qt5 в Visual Studio 2012 или я могу пришить глаз кенгуру пока течет мой любимый кетчуп
2013-02-07 в 19:31, admin, рубрики: qt, Qt Software, qt5, qtwebkit, Visual Studio, visual studio 2012, vs2012, windows, сборка, метки: Qt, qt5, qtwebkit, visual studio 2012, vs2012, сборка Не так давно вышел новый Qt, обещающий большое и светлое будущее, и я решил опробовать сие чудо. Но для начала работы с этим чудом мне понадобилось собрать его для моей установленной студии 2012 года из исходных файлов. А сборка оказалась далеко не тривиальной (хотя кривость моих рук никто не отменял – таким студентам, как я, руки необходимо об забор выпрямлять).
Читать полностью »
Вышли Qt 5.0.1 и Qt Creator 2.6.2
2013-02-03 в 10:17, admin, рубрики: qt, qt creator, Qt Software, qt5, Программирование, метки: Qt, qt creator, qt5 Оказывается, 31 января вышло обновление Qt 5.0.1 с более 400 улучшений (как сообщается) по сравнению с Qt 5.0.0. Новая версия не приносит новой функциональности, лишь исправления и улучшения.
Читать полностью »
QThread: Вы не делаете это неправильно
2013-01-25 в 12:42, admin, рубрики: multithreading, qt, Qt Software, qt4, qt5, QThread, многопоточность, переводы Эта статья об использовании QThread является ответом на другой пост «You're doing it wrong» («Вы делаете это неправильно»), опубликованный три года назад, моим коллегой в то время, Брэдом.
В своём посте Брэд рассказывает, что он видит, как многие пользователи наследуют класс QThread, добавляют несколько слотов и делают в конструкторе примерно так:
moveToThread(this);
Они перемещают поток сам в себя. Как говорит Брэд, это неправильно: QThread должен быть интерфейсом для управления потоком.
Читать полностью »
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 На хабрахабре уже была статья «Применение шейдеров OpenGL в QML», в которой рассмотрены теория и примеры использования шейдеров в Qt Quick 1.0. Прошло больше года, фреймворк претерпел массу изменений: состоялся релиз Qt 5 и шейдеры теперь являются частью Qt Quick 2.0, а не вынесены в отдельный модуль и синтаксис их использования, естественно, также изменился. Сразу оговорюсь, что с GLSL я сам знаком весьма посредственно, зато имею опыт работы с QML, поэтому в этой статье хочу разобрать работу с фрагментным шейдером на примере компонента LedScreen, разработанного сообществом QUIt Coding (наверняка многие из вас видели его в демо-ролике на YouTube):
Читать полностью »
Применение D-Bus в веб-системах
2013-01-16 в 5:06, admin, рубрики: c++, D-bus, php, qt, Qt Software, web-разработка, Веб-разработка, метки: c++, D-bus, PHP, Qt, web-разработкаВ процессе разработки нескольких Интернет-сервисов мы заметили, что значительная часть их функционала является общей, и руководствуясь принципом DRY (Don't Repeat Yourself — не повторяйся), приняли решение вынести общий функционал в отдельный модуль.
К модулю были предъявлены следующие требования:
- независимость от использующих его сервисов;
- простота «клиентского» кода;
- многопоточность и высокая скорость работы.
Сервис шаринга скриншотов и кода
2013-01-13 в 14:26, admin, рубрики: c++, qt, Qt Software, я пиарюсь, метки: c++, QtМногие из вас наверняка слышали про сервисы, позволяющие делится скриншотами одним нажатием кнопки. Общая концепция следующая: жмёшь хоткей, выделяешь область экрана, в буфер обмена получаешь ссылку на скриншот, который автоматически загружается на какой-то хостинг. Так же многие из вас наверняка пользовались другими сервисами — позволяющими опубликовать фрагмент исходного кода и получить ссылку на страничку, отображающую этот исходник с подсветкой синтаксиса.
Мы объединили две эти идеи и сделали проект, обладающий следующими фичами:
- Публикация скриншотов и исходников по нажатию хоткея
- Open Source — можете форкнуть / поднять на своём сервере / добавить новые фичи
- Прямая ссылка на изображения, отсутствие рекламы
- Кроссплатформенность
- Устойчивость к высоким нагрузкам (хостимся в облаке)
Портируем Qt4 приложение на Qt5
2013-01-04 в 14:00, admin, рубрики: c++, porting, programming, qt, Qt Software, qt5, Программирование, метки: porting, programming, Qt, qt5Где-то здесь не так давно был пост о нововведених в Qt5. Всё вроде выглядит замечательно, но как же обстоят дела на самом деле в отношении уже имеющихся приложений? В этой статье я рассмотрю пример портирования одного из своих проектов на Qt5 с сохранением совместимости исходников с Qt4.