Обновить
4.61

Qt *

Кроссплатформенный инструментарий разработки ПО

Сначала показывать
Порог рейтинга
Уровень сложности

Готовим плагин для qutIM на дому

Время на прочтение6 мин
Количество просмотров885
Cегодня мы будем заниматься приготовлением плагина для qutIM'а, но не для того, который совсем недавно зарелизился, а для будущего, активная разработка которого сейчас идёт.
Для начала хотел бы сказать немного общих слов:
  1. В sdk03 мы постарались учесть все «ошибки бурной молодости»
  2. Оно полностью несовместимо со старым skd02
  3. Скорее всего, больше таких резких переходов в API между версиями не будет

И именно поэтому я рекомендую всем, кто ещё ни разу не писал плагины для Кутима, ориентироваться на sdk03
Хочу отметить немаловажный факт, что сейчас разработка ведется с использованием Qt 4.6, она предоставляет огромные дополнительные возможности, от которых просто грех отказываться.
Если вы горите желанием реализовать что-то интересное, но не знаете куда направить свою энергию, то эта статья для вас!
Поехали

Qt + Kinetic = Eye-candy за полчаса

Время на прочтение5 мин
Количество просмотров3.2K
В процессе разработки новой версии QutIMа возникла потребность переписать систему уведомлений, так как старая имела множество недостатков.

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

Небольшое видео с демонстрацией возможностей:



неплохо, правда?

Создание смазывания фона под окном в Windows

Время на прочтение2 мин
Количество просмотров4K
Буквально вчера в блогах разработчиков Qt был опубликован топик, в котором описывалось как можно создать эффект размытия фона под окном приложения в Windows Vista и Windows 7.

Под катом его перевод

Разработка собственной Файловой модели (вместо QDirModel и QFileSystemModel)

Время на прочтение8 мин
Количество просмотров8.9K
В этой статье я расскажу о создании собственной файл модели в Qt. Сразу скажу что модель создавалась под конкретную задачу и не планировалось для широкого использования, так что в ней может и не быть того что вам хочется. Еще хочется добавить что опыт программирования на С++/Qt у меня не столь велик, поэтому вполне готов к комментариям типа: «Ваш код г%вно».

Теперь о том, а зачем собственно...


Известно что в Qt 4 есть две встроенных модели работы с файлами:
QDirModel и
QFileSystemModel.

Однако, эти модели очень медленно работают с большим количеством файлов.
QDirModel так вообще безобразно, у второй дела получше, но даже если сравнивать с виндовым проводником, то все равно отвратительно. Как показало исследование профайлером, при каждом запросе к содержимому папки идет очень долгое ожидание мутекса.

Поэтому было принято решение написать собственную файл модель с блекджеком и шлюхами избавленную от всего лишнего и максимально быстро работающую.
Желающим читать далее...

Пробуем Qt 4.6: Qt Animations и State Machine

Время на прочтение8 мин
Количество просмотров14K
image
На днях вышло так называемое «технологическое превью» (technological preview) Qt 4.6, которое позволяет уже сейчас попробовать новые фичи, которые войдут в релиз 4.6 этого замечательного фреймворка. Перечислять новшества я не буду — они были достаточно хорошо освещены в этом топике, а подробнее остановлюсь на двух из них: State Machine и Qt Animation Framevork.

Итак, что же они из себя представляют?
Я хочу прочитать длинный пост и посмотреть 4 коротеньких видео

Анонс Qt 4.6

Время на прочтение2 мин
Количество просмотров1.4K
9 сентября этого года наша любимая компания, разрабатывающая один из лучших инструментариев для создания графических приложений, представила на публику анонс новой версии: 4.6. Что нового? А вот что:
Подробнее

Смешать и слегка взболтать: Qt, Carbon и Cocoa

Время на прочтение6 мин
Количество просмотров2.6K
Qt можно считать наиболее распространенной кроссплатформенной библиотекой для разработки пользовательских интерфейсов. Carbon (С++) и Cocoa (Objective-C), в свою очередь, являются основными фреймворками, используемыми Apple, что означает гармоничный внешний вид и наилучшую интеграцию с системой при их использовании. Несмотря на попытки создания свободных клонов, в полном объеме они реализованы только в MacOS.

Уверен, что вопросом связи Qt и Cocoa задавались многие, но в условиях отсутствия внятной информации в интернете вряд-ли достигли значимых успехов.
мои результаты

Использование Direct3D совместно с Qt

Время на прочтение7 мин
Количество просмотров7.6K
Однажды, у меня появилась необходимость использования Direct3D совместно с Qt. После нескольких дней поисков в интернете, я нашел всего лишь какие-то обрывки информации. Полноценного описания механизма использования Direct3D не было нигде. В результате, после долгих изысканий я добился того, чего хотел:)
Под катом находится инструкция «сближения“ Direct3D и Qt, а так же код виджета, который можно использовать as is
Читать дальше →

Ускорение сборки Qt компилятором Visual C++

Время на прочтение1 мин
Количество просмотров6.5K
Qt под Visual C++ собирается с помощью nmake. nmake — инструмент старый, давно не развивающийся. В то время, как пользователи GNU инструментария получали полную отдачу от новых двух- и четырехядерных процессоров, распараллеливая сборку с помощью make -j, пользователи Visual C++ собирали Qt в один «поток».

Но разработчики Qt не забыли о пользователях Visual C++ и выпустили для них утилиту jom (исходники, бинарник). jom определяет количество ядер в системе и распараллеливает сборку.

Пользоваться утилитой предельно просто — нужно положить её в директорию из PATH и запускать вместо nmake.

Happy building!

Организация автоматизированного тестирования GUI

Время на прочтение5 мин
Количество просмотров15K
При разработке мы стараемся покрывать наш код не только матом, но и unit тестами. Однако все покрыть тестами не всегда получается. К тому же, остается GUI, для которого написание тестов довольно трудоемкая работа. При всех этих проблемах неизменным остается требование, что каждый следующий камит в репозиторий не должен портить уже существующий функционал.

В этой статье я хочу рассказать какой инструментарий мы используем для тестирования наших desktop приложений, написанных на Qt.

Пол года назад в ходе исследования инструментов для тестирования GUI в поле моего зрения попал продукт Squish компании froglogic. Из плюсов данного решения можно отметить следующие:

  • тесная дружба Squish c классами Qt (в том числе и itemы в QGraphiscScene);
  • кроссплатформенность;
  • поддержка скриптовых языков (JavaScript, Python);
  • автоматизированная генерация текста теста;
  • удобная система запуска тестов из консоли.

Читать дальше

Qt 4.5 и Qt Creator 1.0 теперь с нами!

Время на прочтение1 мин
Количество просмотров2.5K
Очередная версия библиотеки Qt теперь может радовать каждого. Этот релиз принес разработчикам важный и неожиданный сюрприз: Qt распространяется на LGPL. А также есть и другие приятные подарочки от Qt Software:
  • Значительно увеличилась скорость работы графической подсистемы
  • Улучшена интеграция с WebKit
  • Также Qt был портирован на фреймворк Cocoa от Apple.

Подробный список на официальном сайте

Qt Creator


Qt Creator — это легковесная кросс-платформенная среда разработки, заточенная для разработки под C++ и Qt. Разработка Qt Creator велась с прицелом на две вещи: полностью кросс-платформенная разработка; и простота использования для тех, кто только начинает знакомиться с Qt.

Среда Qt Creator включает эффективный набор средств для создания и тестирования программ на Qt:
  • Продвинутый редактор кода на языке C++
  • Контекстная помощь
  • Визуальный отладчик
  • Управление исходным кодом
  • Средства управления проектом и сборкой

Qt Creator также распространяется под лицензией LGPL 2.1. На данный момент для разработки поддерживаются только десктопные операционные системы (Windows, Linux и Mac OS), но поддержка платформ для встраиваемых устройств возможно будет добавлена в следующие несколько месяцев.

Всех разработчиков на Qt поздравляю с этим знаменательным событием!

rWin 0.5 beta — клиент для rTorrent на Qt

Время на прочтение2 мин
Количество просмотров2.6K
Многим известен торрент клиент для Unix систем rTorrent. Его достоинством и недостатком является консольный интерфейс, но есть множество способов борьбы с ним, начиная от web интерфейсов (wTorrent), заканчивая frontend-ом написанным на Java (nTorrent). Лично сам пользуюсь web интерфейсом + screen в консоли. Все бы хорошо, НО за время использования (а это уже примерно как год) постоянно было неудобство со слежением за загрузками и регулировкой скорости закачки. Поэтому решил сделать небольшой клиент, который бы висел в трее, показывал скорость загрузки и другую полезную информацию.
Читать дальше →

Google Translator

Время на прочтение1 мин
Количество просмотров2.2K
Недавно я писал о классе, который реализовывает перевод текстов через Google Translator.
Несколько времени поразмыслив я решил пойти дальше. Зачем людям какой-то класс? Они хотят видить как все работает.
Именно поэтому я написал маленький open-source проект.
image
Читать дальше →

Ближайшие события

Google Translate Non Ajax API

Время на прочтение1 мин
Количество просмотров1.8K
Все знают сервис Google Translate. Он переводит достаточно неплохо, ну, по крайней мере, так что понять можно.
Так не было ли ни у кого желания использовать возможности переводчика Гугл в своих целях?
Читать дальше →

Работа с базами данных в Qt в многопоточном окружении

Время на прочтение9 мин
Количество просмотров20K
Все кто разрабатывают приложения на Qt, рано или поздно сталкиваются с работой с БД в многопоточном окружении. И если невнимательно читать Ассистант, то можно натолкнуться на одни очень интересные грабли.
А в чем грабли?

Локализация и числительные

Время на прочтение2 мин
Количество просмотров3.3K
На Хабре полно статей, с примерами на разных языках, о том, как правильно обрабатывать числительные и склонять при этом существительные, к ним относящиеся. Посмотрим, как эта задача
решается в Qt

Работа с базами данных в Qt

Время на прочтение6 мин
Количество просмотров215K
Qt дает возможность создания платформо-независимых приложений для работы с базами данных, используя стандартные СУБД. Qt включает «родные» драйвера для Oracle, Microsoft SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL и ODBC-совместимых баз данных. Qt включает специфичные для баз данных виджеты, а также поддерживает расширение для работы с базами данных любых встроенных или отдельно написанных виджетов.
Читать дальше →

Qt — трудности перевода

Время на прочтение6 мин
Количество просмотров64K
Вы написали программу на Qt и хотите перевести ее на другие языки, что бы сделать ее полезной для людей в других странах. Сделать это не просто, а очень просто. Для этого нам потребуется сделать всего три простых шага.
Читать дальше →

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

Время на прочтение10 мин
Количество просмотров282K
Сигналы и слоты используются для коммуникации между объектами. Механизм сигналов и слотов главная особенность Qt и вероятно та часть, которая отличаетcя от особенностей, предоставляемых другими фреймворками.
Читать дальше →

«Hello, World!» на Qt

Время на прочтение6 мин
Количество просмотров94K
Qt — это кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, Ruby — QtRuby, Java — Qt Jambi, PHP — PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
В этой статье я покажу как написать простую программу «Hello, World!» с использованием библиотеки Qt4
Итак, приступим

Вклад авторов