Как стать автором
Обновить

Nokia N9. Браузер на WebKit2 с поддержкой HTML5

Блог компании Microsoft Lumia
Привет, хабраюзеры!

Не так давно мы анонсировали выпуск нового смартфона Nokia N9. Сегодня мы хотели бы поподробнее остановиться на мобильном браузере этого устройства. Уникальность его состоит в том, что это первый мобильный браузер, разработанный на движке WebKit2 и имеющий обширную поддержку HTML5.
Читать дальше →
Всего голосов 33: ↑28 и ↓5 +23
Просмотры 17K
Комментарии 34

Qt Components для десктопа

Qt *
Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

Как известно, QML основан на графических примитивах и даже банальные кнопки приходится рисовать из них (прямоугольник, градиент, текст, область мыши, например). Для облегчения процесса создания UI были созданы Qt Components. Они позволяют создавать кнопки, текстовые поля, дропбоксы и прочие контролы для ввода или отображения данных. В официальном релизе сейчас компоненты для
мобильных платформ: Symbian и MeeGo. Но в Qt Labs также есть версия для десктопных платформ, которая (через какое-то время) будет включена в Qt5, как основное средство создания пользовательского интерфейса (как мы помним, в Qt5 на первом месте идет QML, а QtGui уже на втором). При этом компоненты сами подстраиваются под нативный вид операционной системы.

Для того, чтобы показать возможности десктопных компонентов, а заодно обозначить основные проблемы и преимущества их использования, я создал минимальное графическое приложение на классическом QtGui и на компонентах. Нет, не Hello World. Калькулятор. Без реализации расчетов, просто графический интерфейс.



Под катом собраны запуски под 3 операционными системами и некоторые рассуждения на тему.

Читать дальше →
Всего голосов 86: ↑70 и ↓16 +54
Просмотры 15K
Комментарии 56

А давайте пощупаем Qt5

Qt *
Выход первой альфы Qt5 уже не за горами, но зачем нам ждать этого момента, если мы можем прямо сейчас окунуться в ближайшее будущее с его QtQuick2, V8 и qpa?
Поехали
Всего голосов 45: ↑43 и ↓2 +41
Просмотры 24K
Комментарии 67

Началось тестирование Qt 5 Alpha

Блог компании Microsoft Lumia Qt *
Мы рады сообщить о выпуске альфа-версии Qt 5 — первого значительного релиза Qt с момента запуска сообщества Qt Project. Команда разработчиков Nokia благодарит всех энтузиастов этого комьюнити, принимающих непосредственное участие в создании Qt 5 Alpha, ведь многие возможности Qt 5 стали доступны именно благодаря их сплоченной работе. Нам очень приятно, что Qt Project стал местом, где люди объединяются, чтобы совместными усилиями развивать любимый фреймворк.

Основной целью альфа-версии Qt 5 является получение фидбека от разработчиков, который поможет улучшить все последующие релизы. В альфа-релизе Qt 5 акцент ставился на предоставлении основных модулей Qt Essentials, формирующих базовый функционал Qt 5. Это кросс-платформенные модули, достаточные для создания большинства приложений.

В виде бинарного пакета Qt 5 Alpha распространяться не будет, но для самостоятельной компиляции доступны исходные файлы. Разумеется, доступна и инструкция по компиляции.

Разработка Qt 5 началась примерно 9 месяцев назад, преследуя несколько основных целей, описанных в мае прошлого года директором по развитию Qt в Nokia Ларсом Ноллом. Ниже будет список этих целей и того, что уже было достигнуто.
Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 11K
Комментарии 34

Подкаст «Заметки о Qt» — первый, пилотный, выпуск

Программирование *Qt *
Мы с Vass тут слегка заскучали и решили попробовать сделать подкаст по Qt. Этот выпуск пробный, косяков в нем много и от вас, слушатели, зависит будут ли еще выпуски. В общем, слушайте, критикуйте, комментируйте, предлагайте.

Сам подкаст на rpod.ru — qt-notes.rpod.ru/272730.html
Читать дальше →
Всего голосов 51: ↑47 и ↓4 +43
Просмотры 1.9K
Комментарии 75

Сигналы и слоты в Qt5

C++ *Qt *
Перевод
Qt5 alpha увидел свет. В этой статье я опишу одну из фич, над которыми работал — это новый синтаксис сигналов и слотов.

Предыдущий синтаксис


Вот как мы обычно соединяем сигнал и слот:

connect(sender, SIGNAL(valueChanged(QString,QString)),
        receiver, SLOT(updateValue(QString)) );

На самом деле макросы SIGNAL and SLOT преобразуют свои аргументы в строки. Затем QObject::connect() сравнит эти строки с данными интроспекции собранными утилитой moc.

В чем проблема этого синтаксиса?

Не смотря на то, что в целом все работает хорошо, некоторые неудобства все же есть:
Читать дальше →
Всего голосов 47: ↑47 и ↓0 +47
Просмотры 33K
Комментарии 54

Подкаст «Заметки о Qt» s01e03

Программирование *Qt *
Мы с Vass записали и выложили третью серию подкаста «Заметки о Qt».
На этот раз у нас в гостях Gorthauer87

Сам подкаст на rpod.ru — qt-notes.rpod.ru/274520.html
Читать дальше →
Всего голосов 36: ↑29 и ↓7 +22
Просмотры 1.4K
Комментарии 22

Юнит-тестирование в Qt

Тестирование IT-систем *Программирование *Qt *
Туториал

gollum подметил что в тексте картинки есть ошибка

Салют, хабр! Как дела?

Хотел немного подучится чему-то. Искал на хабре в хабе «Qt Software» хоть какой-то пост про юнит-тестирование в Qt. Не нашел. Тут я расскажу базовые вещи про юнит-тестирование на Qt (не ожидайте могучего шаманства). На самом деле, юнит-тестить в Qt довольно просто. Что бы узнать как это делать, приглашаю читать дальше.
Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Просмотры 73K
Комментарии 21

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

C++ *Qt *Обработка изображений *
Recovery mode
Привет, хабр!

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



Если интересно, как сделать вот такое приложение и преодолеть возникающие при этом проблемы, то прошу под кат.
Да, мне интересно!
Всего голосов 38: ↑36 и ↓2 +34
Просмотры 42K
Комментарии 8

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

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

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

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

Это Qt-приложение, не имеющее графического интерфейса. Оно работает 3 секунды и затем завершается.
Читать дальше →
Всего голосов 34: ↑33 и ↓1 +32
Просмотры 4.5K
Комментарии 14

Поток рендеринга анимации в Qt Quick 2.0

Qt *
Перевод
Одним из недостатков Qt Quick API является то, что хоть рендеринг и выполняется в выделенном потоке, тем не менее наша анимация всегда работает в потоке графического интерфейса пользователя.

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

Существуют три основные проблемы, препятствующие нам вынести анимацию в отдельный поток:
  • Анимация обновляющаяся при изменении свойств. Свойства являются частью QObject и системы мета-объектов. Чтобы избежать безумия с потоками, нам разрешается лишь читать и писать эти свойства в потоке графического интерфейса пользователя.
  • Свойства часто имеют привязки и связи в QML, которые вызывают JavaScript-код, при наступлении неких событий, который также должен выполняться в потоке GUI.
  • Цикл рендера в библиотеке QtQuick завязан на поток GUI, а следовательно, когда данный поток заблокирован, анимация не обновляется.

Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 3.6K
Комментарии 1

Подкаст «Заметки о Qt» s02e01

Программирование *Qt *
Мы с Vass записали и выложили первую серию второго сезона подкаста «Заметки о Qt».

Сам подкаст на rpod.ru — qt-notes.rpod.ru/284337.html
Теперь с конкурсом!
Читать дальше →
Всего голосов 30: ↑20 и ↓10 +10
Просмотры 5.2K
Комментарии 17

Подкаст «Заметки о Qt» s02e02

Программирование *Qt *
Мы с Vass записали и выложили вторую серию второго сезона подкаста «Заметки о Qt».

Сам подкаст на rpod.ru — qt-notes.rpod.ru/287388.html
Результаты конкурса внутри!
Читать дальше →
Всего голосов 17: ↑10 и ↓7 +3
Просмотры 4.8K
Комментарии 18

Qt 5.0.0 вышел!

Программирование *Qt *
Они все-таки успели!
Буквально менее часа назад, новый владелец Qt Framework — компания Digia, объявила о выходе долгожданного релиза Qt 5.0



Читать дальше →
Всего голосов 143: ↑132 и ↓11 +121
Просмотры 67K
Комментарии 117

Сборка Qt 5.3.0 в Visual Studio 2008

Qt *Visual Studio *
Туториал
Всех с наступающим!

Digia предлагает Qt5 для Windows только скопилированную под Visual Studio 2010, причем с параметрами, которые не для всех идеальны. В частности это

  • Собственно, сама необходимость использовать только VS2010 и зависимость Visual C++ 2010 Runtime (msvcr100.dll, msvcp100.dll)
  • зависимость Qt5Core.dll (и соответственно вашего приложения) от ICU. Это следующие DLL-ки: icuin49.dll, icudt49.dll, icuuc49.dll
  • зависимость Qt5Gui.dll от Angle Library. Это следующие DLL-ки — libEGL.dll, libGLESv2.dll

В конце также будет рассмотрен вопрос последующего распространения приложений без необходимости устанавливать Microsoft Visual C++ 2008 Redistributable Package при установке вашей программы.
Читать дальше →
Всего голосов 35: ↑29 и ↓6 +23
Просмотры 33K
Комментарии 43

Портируем Qt4 приложение на Qt5

Программирование *C++ *Qt *
Из песочницы
Где-то здесь не так давно был пост о нововведених в Qt5. Всё вроде выглядит замечательно, но как же обстоят дела на самом деле в отношении уже имеющихся приложений? В этой статье я рассмотрю пример портирования одного из своих проектов на Qt5 с сохранением совместимости исходников с Qt4.

Читать дальше →
Всего голосов 56: ↑54 и ↓2 +52
Просмотры 44K
Комментарии 12

Вышли Qt 5.0.1 и Qt Creator 2.6.2

Программирование *Qt *
Оказывается, 31 января вышло обновление Qt 5.0.1 с более 400 улучшений (как сообщается) по сравнению с Qt 5.0.0. Новая версия не приносит новой функциональности, лишь исправления и улучшения.
Читать дальше →
Всего голосов 26: ↑18 и ↓8 +10
Просмотры 25K
Комментарии 34