Сегодня вышел Qt 4.7.0 Tech preview, предварительная версия для людей желающих как можно скорее ознакомиться с новшествами Qt (такими как Qt Quick), Окончательный же релиз Qt 4.7.0 планируется на середину этого года.
Qt 4.7.0 Released
1 мин
855Из основных изменений:
Качать
What's new
Более подробный What's new
4.7.0 changelog
Новость на офсайте
- Qt Quick — пока что только сам язык разметки QML и QtDeclarative модуль, тулзы для создания интерфейсов на QML будут выпущены с релизом Qt Creator 2.1 (снепшоты уже доступны
- Улучшенная производительность и качество
- Обновления по фичам и производительности в Qt Webkit Integration
- Обновился VS Add-In, добавлена поддержка VS2010 (спасибо ulintb)
Качать
What's new
Более подробный What's new
4.7.0 changelog
Новость на офсайте
Экспорт QML файлов из Photoshop и GIMP
1 мин
3.8K
Перевод
Создание QML файлов — невероятно веселая задача, но довольно часто проблематично разбить замечательные Photoshop шаблоны, которые прислал вам дизайнер, в полностью готовый интерфейс Qt Quick. Было бы замечательно, если бы мы смогли автоматизировать этот процесс? Я тоже так подумал, и написал пару полезных скриптов. Первый — скрипт для Photoshop. Просто положите его совместно с другими скриптам, и у Вас появится новый пункт в меню «Export QML», с помощью которого можно перебросить сцену в один QML-файл с элементами Text или Image из каждого слоя. Скрипт также можно использовать и для векторной графики, поскольку в Adobe Illustrator есть удобная опция экспорта в Photoshop.
Я сделал небольшое демонстрационное видео, чтобы лучшее продемонстрировать, как это работает на практике:
Я сделал небольшое демонстрационное видео, чтобы лучшее продемонстрировать, как это работает на практике:
Qt Mobility 1.1.1, QtCreator 2.1.0, Qt 4.7.2
1 мин
1.4KВышло очередное обновление инстурментария Qt за номером 4.7.2. Кроме исправления ошибок, оно является официальным релизом Qt Quick.
Одновременно вышло обновление для QtCreator (версия 2.1.0) с расширенной поддержкой Qt Quick и разработки для мобильных приложений.
QtMobility 1.1.1 включает множество исправлений ошибок и улучшенные привязки для QML и производительность, в особенности для Symbian.
Qt Mobility 1.1.1 так же входит в состав Qt SDK 1.1 Beta.
Одновременно вышло обновление для QtCreator (версия 2.1.0) с расширенной поддержкой Qt Quick и разработки для мобильных приложений.
QtMobility 1.1.1 включает множество исправлений ошибок и улучшенные привязки для QML и производительность, в особенности для Symbian.
Qt Mobility 1.1.1 так же входит в состав Qt SDK 1.1 Beta.
Мысли по поводу Qt 5
6 мин
15K
Перевод
Qt 4.0 была выпущена в июне 2005 года, почти шесть лет назад. Многое изменилось в индустрии программного обеспечения за эти годы. Тогда разработка приложений шла в основном на настольных системах, сейчас же мобильные устройства, подключенные к сети, становятся все более популярными. Технология пользовательского интерфейса перешла от статических виджетов к плавным сенсорным. Начиная с Qt 4.0, мы выпустили семь минорных версий Qt, следуя потребностям разработчиков и пользователей, например, разработав Qt Quick. С растущей пользовательской базой Qt, растёт потребность во встроенных, мобильных приложениях и UI-разработчиках.
Кроме того, в будущем, чтобы быть ведущим фреймворком для разработчиков в нескольких отраслях, Qt необходимо непрерывно обновляться и развиваться. Qt 4 был эволюцией, поэтому я задумался о том, как могут выглядеть следующие версии Qt с технической точки зрения. Последние годы мы работали над созданием основы для следующей мажорной версии. Я вижу в ней Qt Quick, QML Scenegraph и проект Lighhouse в сочетании с усилением акцента на Qt Webkit как фундамент, который мы планируем использовать для перехода к новому мажорному релизу Qt.
Учитывая, что Qt управляется открыто, я хотел бы поделиться своими размышлениями с сообществом Qt, чтобы начать дискуссии о технической архитектуре Qt 5.
Кроме того, в будущем, чтобы быть ведущим фреймворком для разработчиков в нескольких отраслях, Qt необходимо непрерывно обновляться и развиваться. Qt 4 был эволюцией, поэтому я задумался о том, как могут выглядеть следующие версии Qt с технической точки зрения. Последние годы мы работали над созданием основы для следующей мажорной версии. Я вижу в ней Qt Quick, QML Scenegraph и проект Lighhouse в сочетании с усилением акцента на Qt Webkit как фундамент, который мы планируем использовать для перехода к новому мажорному релизу Qt.
Учитывая, что Qt управляется открыто, я хотел бы поделиться своими размышлениями с сообществом Qt, чтобы начать дискуссии о технической архитектуре Qt 5.
По следам Nokia Developer Days
1 мин
2.9KДорогой Хабр!
19 и 20 мая в Москве прошла конференция разработчиков мобильных приложений Nokia Developer Days. Мы анонсировали это мероприятие ранее и надеемся, что все, кто хотел, смогли его посетить. В конференции приняло участие 150 девелоперов и людей, интересующихся разработкой приложений для мобильных телефонов.
В ближайшее время мы выложим все презентации с мероприятия, чтобы все, кто по той или иной причине не попал на Developer Days, смогли ознакомиться с ними в свободном доступе. Кстати, мы немного постарались для уютного Хабра, и теперь всем желающим доступен тег
А пока мы хотели бы спросить тех, кто побывал на конференции впервые, а также тех, кто участвовал в предыдущих Developer Days, что вам понравилось, а что хотелось бы сделать или организовать по-другому? Какие презентации понравились больше всего, а на каких хотелось поспать? Будем искренне рады конструктивной критике, чтобы следующее мероприятие было только лучше!
И напоследок представляем краткий видео-обзор (более подробный видео-отчет будет готов позже, мы выложим его вместе с презентациями докладчиков Nokia Developer Days), любезно предоставленный нам командой NOMOBILE.RU:
19 и 20 мая в Москве прошла конференция разработчиков мобильных приложений Nokia Developer Days. Мы анонсировали это мероприятие ранее и надеемся, что все, кто хотел, смогли его посетить. В конференции приняло участие 150 девелоперов и людей, интересующихся разработкой приложений для мобильных телефонов.
В ближайшее время мы выложим все презентации с мероприятия, чтобы все, кто по той или иной причине не попал на Developer Days, смогли ознакомиться с ними в свободном доступе. Кстати, мы немного постарались для уютного Хабра, и теперь всем желающим доступен тег
<slideshow> ссылка на презентацию slideshare.net </slideshow>,с помощью которого можно встраивать в хабра-топик презентации. Пока поддерживается только slideshare.net, но в будущем, надеемся, добавятся все самые распространенные сервисы для хранения презентаций.
А пока мы хотели бы спросить тех, кто побывал на конференции впервые, а также тех, кто участвовал в предыдущих Developer Days, что вам понравилось, а что хотелось бы сделать или организовать по-другому? Какие презентации понравились больше всего, а на каких хотелось поспать? Будем искренне рады конструктивной критике, чтобы следующее мероприятие было только лучше!
И напоследок представляем краткий видео-обзор (более подробный видео-отчет будет готов позже, мы выложим его вместе с презентациями докладчиков Nokia Developer Days), любезно предоставленный нам командой NOMOBILE.RU:
По следам Nokia Developer Days — презентации
1 мин
4.1KПривет, Хабр!
Ровно неделю назад мы обещали поделиться с вами презентациями с конференции Nokia Developer Days и продемонстрировать, как работает новый тег на Хабре
Ну а тех, кому интересны сами презентации, приглашаем под хабра-кат:
Ровно неделю назад мы обещали поделиться с вами презентациями с конференции Nokia Developer Days и продемонстрировать, как работает новый тег на Хабре
<slideshow> ... </slideshow>,позволяющий выкладывать интерактивные презентации. Мы собрали материалы практически всех докладчиков, самые интересные презентации точно есть. Все они отсортированы согласно программе мероприятия, с которой можно ознакомиться здесь:
Ну а тех, кому интересны сами презентации, приглашаем под хабра-кат:
Nokia Developer Day в Ростове-на-Дону
1 мин
1.3KУважаемые хабровчане!
В понедельник 27 июня пройдет очередной Nokia Developer Day. На этот раз встреча пройдет в Ростове-на-Дону, в Конгресс-Отеле «DON-PLAZA». Со своими презентациями будут выступать Алексей Кокин, менеджер по работе с разработчиками, и Александр Труфанов, старший консультант по техническим решениям.
Если у вас есть вопросы, касающиеся разработки под платформы Nokia, мы с удовольствием передадим их Алексею и Александру. Ответы на вопросы будут озвучены на мероприятии. При необходимости, мы разместим ответы и здесь, в комментариях.
Программа мероприятия и регистрация доступны на сайте Forum Nokia.
В понедельник 27 июня пройдет очередной Nokia Developer Day. На этот раз встреча пройдет в Ростове-на-Дону, в Конгресс-Отеле «DON-PLAZA». Со своими презентациями будут выступать Алексей Кокин, менеджер по работе с разработчиками, и Александр Труфанов, старший консультант по техническим решениям.
Если у вас есть вопросы, касающиеся разработки под платформы Nokia, мы с удовольствием передадим их Алексею и Александру. Ответы на вопросы будут озвучены на мероприятии. При необходимости, мы разместим ответы и здесь, в комментариях.
Программа мероприятия и регистрация доступны на сайте Forum Nokia.
Создание гибридного Qt Quick и C++ приложения
6 мин
31KДобрый день, %username%!
Некоторое время назад делал знакомому лабораторную, тематика которой – код Хэмминга. Программа представляла собой обыкновенное Qt приложение с минимальным набором контролов. Сдача прошла успешно, прошло некоторое время, и его теперь другу необходимо тоже сдать лабораторную на эту же тематику. Ту же программу, очевидно, сдавать нельзя. Тут возникает вопрос – как сделать программу с тремя кнопками и двумя текстбоксами непохожей на предыдущую? Мне в голову пришла мысль переписать интерфейс с помощью Qt Quick, а логику и расчеты программы оставить в С++, а заодно и рассказать интересующимся людям, как я обычно делаю подобные вещи. По Qt Quick не так много литературы, тем более на русском, так что очень надеюсь, что данная статья будет полезна и интересна.
Небольшая предыстория:
Некоторое время назад делал знакомому лабораторную, тематика которой – код Хэмминга. Программа представляла собой обыкновенное Qt приложение с минимальным набором контролов. Сдача прошла успешно, прошло некоторое время, и его теперь другу необходимо тоже сдать лабораторную на эту же тематику. Ту же программу, очевидно, сдавать нельзя. Тут возникает вопрос – как сделать программу с тремя кнопками и двумя текстбоксами непохожей на предыдущую? Мне в голову пришла мысль переписать интерфейс с помощью Qt Quick, а логику и расчеты программы оставить в С++, а заодно и рассказать интересующимся людям, как я обычно делаю подобные вещи. По Qt Quick не так много литературы, тем более на русском, так что очень надеюсь, что данная статья будет полезна и интересна.
Релиз Qt 4.7.4
1 мин
3.2K
Перевод
Мы рады сообщить релизе Qt 4.7.4 для десктопов. В основном это технический релиз, который содержит исправления ошибок майского релиза Qt 4.7.3.
4.7.4 в настоящее время планируется последним релизом в ветке 4.7. Работа будет продолжена в 4.8, бета уже была выпущена, Release Candidate будет доступен в ближайшее время.
4.7.4 в настоящее время планируется последним релизом в ветке 4.7. Работа будет продолжена в 4.8, бета уже была выпущена, Release Candidate будет доступен в ближайшее время.
Просто о Qt. Библиотека контейнеров
7 мин
145K
Туториал
Привет, хабр!
Сегодня я хотел бы рассказать о интересной и полезной фиче. Имя ее — Библиотека контейнеров. Это не одна, а целая группа полезных фич. А их назначение — организация и обработка групп элементов. Звучит интересно, да? Сейчас рассмотрим поближе — добро пожаловать под кат.
Сегодня я хотел бы рассказать о интересной и полезной фиче. Имя ее — Библиотека контейнеров. Это не одна, а целая группа полезных фич. А их назначение — организация и обработка групп элементов. Звучит интересно, да? Сейчас рассмотрим поближе — добро пожаловать под кат.
Ubuntu идёт на смартфоны и планшеты
1 мин
6K
Скины Unity для Android
На конференции Ubuntu Developer Summit 7 ноября основатель Canonical Марк Шаттлворт объявит о планах портировать Ubuntu на смартфоны, планшеты и телевизоры. Точнее, выпустить универсальную версию ОС, которая подходит для десктопов и мобильных устройств на ARM-процессорах (как Windows 8).
Canonical уже полтора года ведёт переговоры по этому поводу с производителями аппаратного обеспечения — и вот сейчас Шаттлворт, видимо, объявит о результатах этих переговоров.
Введение в Qt Quick3D
6 мин
32K
Туториал
Этот пост участвует в конкурсе „Умные телефоны за умные посты“
Не так давно фреймворк Qt Quick обзавелся дополнением Qt Quick3D, позволяющим полноценно работать с 3D объектами (поддерживается импорт из 3D Max и Blender), совершать над ними различные трансформации, анимации, применять эффекты, ну и вообще по полной использовать возможности лежащего в основе OpenGL. Работает всё это под Symbian, MeeGo, Windows\Linux\MacOs (ну и вообще везде, где Qt есть). В этом топике мы попробуем технологию «на зуб». Писать что-то сложное и серьёзное не хочется, поэтому мы сделаем хабрахолодильник, из которого по клику будет вылетать НЛО.
Сразу результат:
Не так давно фреймворк Qt Quick обзавелся дополнением Qt Quick3D, позволяющим полноценно работать с 3D объектами (поддерживается импорт из 3D Max и Blender), совершать над ними различные трансформации, анимации, применять эффекты, ну и вообще по полной использовать возможности лежащего в основе OpenGL. Работает всё это под Symbian, MeeGo, Windows\Linux\MacOs (ну и вообще везде, где Qt есть). В этом топике мы попробуем технологию «на зуб». Писать что-то сложное и серьёзное не хочется, поэтому мы сделаем хабрахолодильник, из которого по клику будет вылетать НЛО.
Сразу результат:
Qt Quick: лучшие приёмы
1 мин
11KДоброе утро, Хабр!
Мы начинаем вести новую серию постов в блоге, посвящённую лучшим трюкам и приёмам в фреймворке Qt Quick, концентрируя внимание на языке QML. Весь цикл постов пишет Майкл Хассельман. Он работает в Openismus и известен разработкой виртуальной клавиатуры для Nokia N9 (MeeGo Harmattan 1.2).
Посты, написанные Хассельманом, должны показать лучшие приёмы разработки в Qt Quick путём изучения того, как использовать основные концепции рационально, и как оградить себя от распространённых ошибок.
Сразу стоит отметить, что базовые знания Qt Quick в целом и языка QML в частности, приветствуются. Введение в QML и небольшой урок — отличный способ освежить или получить эти начальные знания. Введение в язык можно по-шустрому прочитать во время завтрака — этого будет достаточно для понимания цикла статей, — а вот урок стоит прочитать внимательно, полностью разобравшись со всеми деталями.
Серия постов начнётся на следующей неделе с изучения связывания свойств и демонстрации гибкости и мощности языка. Последующие записи этой серии будут публиковаться в этом же блоге с периодичностью раз в неделю. Посты другого плана, разумеется, никуда не денутся.
Мы начинаем вести новую серию постов в блоге, посвящённую лучшим трюкам и приёмам в фреймворке Qt Quick, концентрируя внимание на языке QML. Весь цикл постов пишет Майкл Хассельман. Он работает в Openismus и известен разработкой виртуальной клавиатуры для Nokia N9 (MeeGo Harmattan 1.2).
Посты, написанные Хассельманом, должны показать лучшие приёмы разработки в Qt Quick путём изучения того, как использовать основные концепции рационально, и как оградить себя от распространённых ошибок.
Сразу стоит отметить, что базовые знания Qt Quick в целом и языка QML в частности, приветствуются. Введение в QML и небольшой урок — отличный способ освежить или получить эти начальные знания. Введение в язык можно по-шустрому прочитать во время завтрака — этого будет достаточно для понимания цикла статей, — а вот урок стоит прочитать внимательно, полностью разобравшись со всеми деталями.
Серия постов начнётся на следующей неделе с изучения связывания свойств и демонстрации гибкости и мощности языка. Последующие записи этой серии будут публиковаться в этом же блоге с периодичностью раз в неделю. Посты другого плана, разумеется, никуда не денутся.
Потыкай палочкой свой мозг
4 мин
1.7KЭтот пост участвует в конкурсе „Умные телефоны за умные посты“
Чем обычно мы занимаемся сидя в автобусе/метро/очереди? Правильно — фигнёй. Обычно это или музыка или глупые игры на мобилке вроде «Попробуй найди такой же шарик, как и я, скотина!».
С музыкой понятно, она везде едина, а вот с игрушками что-то можно изменить… К примеру — сделать нечто простое, но с намёком на интеллектуальность и полезность. Суть идеи проста, как две копейки — берём слово, мешаем в нём буквы и предлагаем игроку угадать изначальное словечко по рандомной каше. Навешиваем на это красивый дизайн и плавные переходы, прикручиваем уровни и рейтинги — вуаля, игра готова!

С музыкой понятно, она везде едина, а вот с игрушками что-то можно изменить… К примеру — сделать нечто простое, но с намёком на интеллектуальность и полезность. Суть идеи проста, как две копейки — берём слово, мешаем в нём буквы и предлагаем игроку угадать изначальное словечко по рандомной каше. Навешиваем на это красивый дизайн и плавные переходы, прикручиваем уровни и рейтинги — вуаля, игра готова!
Введение в разработку картографических и геолокационных мобильных приложений с применением QtMobility.location
7 мин
2.9KЭтот пост участвует в конкурсе „Умные телефоны за умные посты“
Никогда ранее не приходилось участвовать в разработке картографических и геолокационных мобильных приложений, поэтому эта конкурсная тема мне стала интересна как в плане профессионального роста, так и в плане обычного человеческого любопытства. Я, естественно, подозревал, что QtQuick значительно облегчит мне задачу изучения сабжа, но он в очередной раз приятно удивил элегантной простотой решения задачи.

Речь пойдет о QtMobility.location. Кстати, изображенное на скриншоте приложение содержит менее страницы кода на QML и ни строчки на C++.
Никогда ранее не приходилось участвовать в разработке картографических и геолокационных мобильных приложений, поэтому эта конкурсная тема мне стала интересна как в плане профессионального роста, так и в плане обычного человеческого любопытства. Я, естественно, подозревал, что QtQuick значительно облегчит мне задачу изучения сабжа, но он в очередной раз приятно удивил элегантной простотой решения задачи.

Речь пойдет о QtMobility.location. Кстати, изображенное на скриншоте приложение содержит менее страницы кода на QML и ни строчки на C++.
Читаем и пишем NFC Tag на MeeGo Harmattan
14 мин
13K
Туториал
Этот пост участвует в конкурсе „Умные телефоны за умные посты“
Если верить Википедии, NFC(Near Field Communication) — это технология беспроводной высокочастотной связи малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии около 10 сантиметров.
Существует три наиболее популярных варианта использования NFC технологии в мобильных телефонах:
эмуляция карт — телефон прикидывается картой, например пропуском или платежной картой;
режим считывания — телефон считывает пассивную метку (Tag), например для интерактивной рекламы;
режим P2P — два телефона связываются и обмениваются информацией.
Мы будем рассматривать второй способ использования, а именно чтение пассивной метки, мало того, мы также научимся записывать информацию на такие метки с помощью телефона
Я буду рассказывать не только о методах работы с NFC, но и о пользовательском интерфейсе разработанной мной специально для этой статьи программы. То есть в процессе чтения вы пройдете полный путь создания приложения для работы с NFC Tag для MeeGo Harmattan.

UPDATE: Сегодня, 20.12.2011, пришло письмо, что приложение приняли в Qt Ambassador
UPDATE: Прошла ночь и проект был опубликован в программе: Qt Ambassador Showcase
Введение
Что такое NFC?

Существует три наиболее популярных варианта использования NFC технологии в мобильных телефонах:
эмуляция карт — телефон прикидывается картой, например пропуском или платежной картой;
режим считывания — телефон считывает пассивную метку (Tag), например для интерактивной рекламы;
режим P2P — два телефона связываются и обмениваются информацией.
Мы будем рассматривать второй способ использования, а именно чтение пассивной метки, мало того, мы также научимся записывать информацию на такие метки с помощью телефона
О чем рассказ?
Я буду рассказывать не только о методах работы с NFC, но и о пользовательском интерфейсе разработанной мной специально для этой статьи программы. То есть в процессе чтения вы пройдете полный путь создания приложения для работы с NFC Tag для MeeGo Harmattan.
Оглавление

UPDATE: Сегодня, 20.12.2011, пришло письмо, что приложение приняли в Qt Ambassador
UPDATE: Прошла ночь и проект был опубликован в программе: Qt Ambassador Showcase
Qt Quick и Box2d: Симулируем физику
12 мин
14K
Туториал
Этот пост участвует в конкурсе „Умные телефоны за умные посты“

Даже не смотря на то, что многие программисты, в данный момент, не спешат переводить разработку своих приложений и игр на рельсы Qt Quick, инфраструктура вокруг самой технологии с каждым днём лишь растёт и развивается.
Вот и до симуляции физики в двухмерном пространстве дошло дело. А вернее до появления QML-плагина. который позволяет с присущей Qt Quick легкостью интегрировать в своё приложения физический движок Box2D. Вот об этом сегодня и поговорим. А точнее, разберём на примере реализации простого арканоида, насколько быстро можно создать простенькую игру, никогда ранее не работая с физическими движками и почти незная терминологии.

Даже не смотря на то, что многие программисты, в данный момент, не спешат переводить разработку своих приложений и игр на рельсы Qt Quick, инфраструктура вокруг самой технологии с каждым днём лишь растёт и развивается.
Вот и до симуляции физики в двухмерном пространстве дошло дело. А вернее до появления QML-плагина. который позволяет с присущей Qt Quick легкостью интегрировать в своё приложения физический движок Box2D. Вот об этом сегодня и поговорим. А точнее, разберём на примере реализации простого арканоида, насколько быстро можно создать простенькую игру, никогда ранее не работая с физическими движками и почти незная терминологии.
Лучшие приёмы Qt Quick: связывание свойств в QML
3 мин
8.2KСвязывание между двумя свойствами (property binding) «a» и «b», объявленное как «a: b», обновляет значение «a» всякий раз, когда обновляется «b». Связывание свойств находит практическое применение при управлении размером элемента, управлении положением элемента с помощью якоря, динамическом изменении текста или изображений, управлении цветом элемента или состоянием кнопок.
В самой простой форме «а», связанное с «b», сохраняет то же значение, что и «b», на протяжение всего времени связывания свойств. В более продвинутой форме «a» привязывается к произвольному JavaScript-выражению, которое использует «b» как «a: b + 1».
Связывать можно более двух свойств — «a: b * c + 1». В данном случае выражение будет считаться при каждом изменении «b» или «c».
В самой простой форме «а», связанное с «b», сохраняет то же значение, что и «b», на протяжение всего времени связывания свойств. В более продвинутой форме «a» привязывается к произвольному JavaScript-выражению, которое использует «b» как «a: b + 1».
Связывать можно более двух свойств — «a: b * c + 1». В данном случае выражение будет считаться при каждом изменении «b» или «c».