Рубрика «Qt Software» - 19

Мы рады сообщить о выпуске альфа-версии 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 Ларсом Ноллом. Ниже будет список этих целей и того, что уже было достигнуто.
Читать полностью »

Эта статья — введение в программирование без блокировок (неблокирующая синхронизация). Я пишу ее, потому что она будет ключем к пониманию моей следующей статьи [от пер.: перевод в процессе]. Она же является основой моего выступления на Qt Developer Days 2011.

Программирование без блокировок — это подход к разработке алгоритмов и структур данных, которые не нуждаются в блокировке или мьютексах.

Когда разным потокам в вашей программе необходимо получить доступ к одним и тем же данным, необходимо убедиться, что эти данные всегда во время использования находятся в целостном актуальном (когерентном) состоянии. Один из путей достижения этой цели — делать блокировки. Поток овладевает мьютексом, для записи данных. Этот поток может работать со структурами данных и держать их в неопределенном состоянии, но это не приведет к проблеме, т.к. другие потоки в это время не смогут получить доступ к данным, потому что они будут заблокированы, ожидая освобождения мьютекса. Пока поток ожидает, операционная система переключится на другие потоки или процессы, а может просто даст процессору отдохнуть.
Читать полностью »

Забавный день,!

Спустя ровно год активной разработки мы — все те, кто участвовал в разработке qutIM, рады вам представить релизную версию 0.3 под кодовым именем Nolwe.
За прошедший год было исправлено огромнейшее количество ошибок, добавлены недостающие фичи и переработаны некоторые плагины.

qutIM 0.3: Через тернии к звёздам!

Читать полностью »

На Хабре и в Сети достаточно много статей на тему QML, но все они оставляют за кадром некоторые моменты. Сегодня я попытаюсь приподнять занавес над некоторыми очевидными моментами для тех, кто имел дело со связкой QML и C++, и не таких очевидных для тех, кто только начинает вникать в нюансы этой замечательной технологии.
Итак. Допустим, у нас есть интерфейс приложения на QML и C++ класс с логикой работы. Как же нам собрать все это в единое целое?Читать полностью »

Вступление

Используя порт Qt для Android я наткнулся на проблему работы со звуком. На данный момент QtMultimediaKit для Android не работает. Проблема связана с банальной нехваткой либы FFmpeg, но багу фиксить не спешат, т.к. у комьюнити пока другие приоритеты. Разбираться, как работает Necessitas мне абсолютно не хотелось, да и нашелся человек в списках рассылки, который проделал необходимую работу, но почему-то не поделился результатами своего труда. Я написал ему письмо, но ответа к сожалению не последовало. Ну и ладно, подумал я… И тут на одном из форумов наткнулся на предложение использовать OpenSL ES, который появился в Android начиная с версии 2.3. Скажу сразу, что у меня ничего путного не получилось. Что такое OpenSL ES я до этого не знал. А значит, надо заполнять пробелы в знаниях. Тем более повод есть.

Назвать OpenSL ES библиотекой у меня даже как-то язык не поворачивается. Это скорее спецификация для 2D и 3D аудио на языке Си. Первый взгляд на API привел меня в ужас. Все показалось каким-то мрачным и запутанным. Но, как говорится, не все то золото, что блестит. Позже, пытаясь реализовать QAndroidMediaPlayer, я проникся духом “библиотеки” и первое мнение рассеялось в пух и прах.
Читать полностью »

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

Здесь приводится пример создания в QGraphicsScene своей рисованной кнопки с помощью QGraphicsWidget.

Рекомендуется к прочтению людям, имеющим опыт работы с PyQt4.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js