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

Qt *

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

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

Работа с сокетами в Qt

Время на прочтение5 мин
Количество просмотров127K

Введение


image
Как-то несколько лет назад, на одном из форумов, я нашел такую замечательную фразу — «Каждый уважающий себя программист в жизни должен написать свой чат-клиент». Тогда мои знания не позволяли сделать это. Я просто улыбнулся и прошел мимо этой фразы. Но вот совсем недавно я столкнулся именно с данной проблемой — нужно было написать свой чат. Ну а так как последнее время мой интерес был направлен на изучение и разработку Qt-приложений, на чем будет сделан он, решилось само собой.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии8

Qt + QML на простом примере

Время на прочтение13 мин
Количество просмотров106K
Qt является удобным и гибким средством для создания кросс-платформенного программного обеспечения. Входящий в его состав QML предоставляет полную свободу действий при создании пользовательского интерфейса.
Об удобстве использования связки Qt и QML уже говорилось не раз, поэтому не буду дальше распространяться о плюсах, минусах, а приведу, шаг за шагом, пример простого Qt приложения.
Читать дальше →
Всего голосов 127: ↑120 и ↓7+113
Комментарии14

Экспорт QML файлов из Photoshop и GIMP

Время на прочтение1 мин
Количество просмотров4K
Создание QML файлов — невероятно веселая задача, но довольно часто проблематично разбить замечательные Photoshop шаблоны, которые прислал вам дизайнер, в полностью готовый интерфейс Qt Quick. Было бы замечательно, если бы мы смогли автоматизировать этот процесс? Я тоже так подумал, и написал пару полезных скриптов. Первый — скрипт для Photoshop. Просто положите его совместно с другими скриптам, и у Вас появится новый пункт в меню «Export QML», с помощью которого можно перебросить сцену в один QML-файл с элементами Text или Image из каждого слоя. Скрипт также можно использовать и для векторной графики, поскольку в Adobe Illustrator есть удобная опция экспорта в Photoshop.

Я сделал небольшое демонстрационное видео, чтобы лучшее продемонстрировать, как это работает на практике:

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии6

Вышел Qt Creator 2.1 Release Candidate

Время на прочтение1 мин
Количество просмотров533
Всего голосов 9: ↑7 и ↓2+5
Комментарии1

Истории

Вышли Qt 4.7.1 и Qt Mobility 1.1.0

Время на прочтение1 мин
Количество просмотров2.9K
Ещё вчера, но поскольку никто до сих пор не написал, то вот.

Из основных изменений:
Qt 4.7.1 включает исправления ошибок, найденных в 4.7.0, а также добавляет поддержку OpenGL в Symbian.
Qt Mobility 1.1.0 — набор API и фреймворков, ориентированный на разработку приложений для мобильных платформ.
  • Новое API: Organizer, Versit/Organizer, Document Gallery, Feedback
  • Улучшение API: Location API расширено добавлением некоего Maps and Navigation API, в Multimedia API добавили поддержку управления камерой, Service Framework API получил поддержку IPC service invocation.
  • Поддержка MeeGo

Также прекращена работа над Qt Solutions, 9 solutions будут доступны из GIT репозитория под BSD лицензией, остальные будут недоступны вовсе.

Качать
What's new
4.7.1 changelog
Новость в официальном блоге
Всего голосов 28: ↑23 и ↓5+18
Комментарии10

Реализация Model-View-Presenter в Qt

Время на прочтение3 мин
Количество просмотров27K
Проектируя архитектуру одного проекта, остановился на паттерне MVP — подкупила возможность легко менять ui, а также простота покрытия тестами. Все примеры реализации MVP, что я нашёл в сети, были на C#. При реализации на Qt возникла пара неочевидных моментов, решение которых было успешно найдено. Собранная информация ниже.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии18

Установка Qt Embedded

Время на прочтение5 мин
Количество просмотров33K
Руководство по установке инструментов для разработки и инсталляции разработанного приложения на целевую систему. Основной ПК работает под управлением Debian, а целевой машиной – mini2440 на основе процессора 400 MHz Samsung S3C2440A ARM920T.

В руководстве рассматриваются работа с эмулятором QVFB, компиляция на рабочей машине для целевого устройства, компиляция и установка драйвера tslib, установка библиотек на целевую машину.

image

Читать дальше →
Всего голосов 72: ↑66 и ↓6+60
Комментарии26

Приведение типов

Время на прочтение4 мин
Количество просмотров203K
Будучи на конференции Qt Developer Days 2010 я узнал, что одним из самых популярных вопросов на собеседовании в разные зарубежные компании, работающие с Qt библиотекой, является вопрос о различиях в способах приведения типов в C++. Поэтому здесь я рассмотрю основные различия между static_cast, dynamic_cast, const_cast, reinterpret_cast, C-style cast, qobject_cast и qvariant_cast

Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии59

XmlTree плагин для QtCreator

Время на прочтение1 мин
Количество просмотров1.6K
Qt Creator из легкой и простой IDE развился во вполне удобную и функциональную среду. Чего стоит один только Generic Highlighting. Но к сожалению, не всегда удобно просматривать и редактировать xml файлы в виде исходного текста разметки, иногда проще редактировать в виде дерева нод. Для этой цели и был разработан плагин XmlTree, о котором ниже пойдет речь.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии8

Обзор ORM для Qt

Время на прочтение16 мин
Количество просмотров17K

Введение



Добрый день, уважаемые коллеги-программисты!

Вот уже год в мире Qt происходят очень интересные события. Здесь вам и недавний выпуск версии 4.7, и концепция QML, и значительная интеграция библиотеки в мобильные платформы. В Qt водятся самые правильные тролли; мне нравится то, что они делают, и куда развивается эта библиотека. Готов даже поспорить, что она – лучшая в своем классе, но те, кто пишут на Qt, и так это знают.

Есть кое-что ещё, изменившееся за годовой период. Для Qt стали появляться ORM-библиотеки, одна за другой, как грибы. Свято место пусто не бывает? Спрос есть, вот вам и предложение. О том, что происходит в мире Qt ORM, читайте в этой статье. Я постараюсь дать максимум информации по использованию и механизмам, применяемым в обозреваемых библиотеках; но ни одна из них не может быть освящена полностью по причине, что любая ORM – весьма сложный комплекс из программистских решений.

(Замечу сразу, что статья в некоторой степени рекламная, поскольку появилась она из-за моей собственной ORM; однако, справедливости ради, я не только пиарю себя, но и даю общую оценку того, что сейчас есть по теме. Прошу отнестись с пониманием: намерения самые благие).

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии21

QtCreator TODO Plugin. Продолжение

Время на прочтение5 мин
Количество просмотров5.4K
TODO Plugin

Некоторое время назад я писал о разработанном мною плагине отображающем список все TODO, FIXME и т. д. комментариев в текущем открытом документе. Вчера я выпустил новую версию этого плагина, в которой получилось довольно много изменений, вот ключевые из них:
  • Появились настройки
  • Теперь можно добавлять свои ключевые слова для поиска и задавать цвет и иконку их вывода.
  • Можно выбирать куда выводить информацию: в стандартное окно «Build issues» или в отдельное «TODO Output».
  • Можно выбирать: попрежнему выводить информацию только о текущем открытом файле или собирать информацию со всего текущего проекта.
  • Комментарии на языках отличных от английского теперь отображаются корректно.

Во время разработки удалось накопать несколько интересных вещей, которые могут пригодится другим разработчикам плагинов, чем и поделюсь под катом.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии14

Qt 4.7.0 Released

Время на прочтение1 мин
Количество просмотров888
Из основных изменений:
  • 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
Новость на офсайте
Всего голосов 44: ↑42 и ↓2+40
Комментарии53

Экспорт в mail.app из приложения Qt

Время на прочтение5 мин
Количество просмотров851
Возникла необходимость делать экспорт неких файлов в email (пользователи очень просят). Проблема в том как это сделать в Mac OS X. Ну предположим мы не предполагаем никаких других почтовиков кроме Mail.app. На developer.apple.com нашел описание как это делается без Qt. Первая попытка реализовать сие породила массу вопросов, ответов на которые в developer.apple.com не найти. Вобщем помучился я достаточно и тут выкладываю готовый рецепт реализации такой фичи при помощи AppleScript.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии4

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

Восполняя пробелы Qt — Генерация ключа SSL

Время на прочтение7 мин
Количество просмотров7.5K
К сожалению библиотека Qt, имея все необходимые компоненты для работы с openSSL не включает в себя кода для генерации ключей. Посему попытаемся исправить ситуацию.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Сборка плагинов для Qt Creator в windows

Время на прочтение1 мин
Количество просмотров2.1K
Столкнулся с проблемой: как под виндой собрать плагин для Qt Creator'а, поставляемого с Qt SDK или Nokia Qt SDK.

Для начала нужны исходники криейтора, их легко находим на гиториусе или ftp. Забираем оттуда версию 2.0.0 (сейчас такая в обоих SDK), распаковываем, кладём наш плагин в src\plugins. Можно собирать (как только соберётся сам криейтор).

Теперь фишка. Чтобы плагин работал с криейтором из SDK его обязательно надо собирать в релизе и компилятором MSVS2008 с Qt 4.7 (beta2 или RC). Соответственно, скачанные исходники криейтора надо собирать так же.

Собственно, всё, теперь можно копировать длл-ку плагина и .pluginspec файл в %QT_SDK_INSTALL_DIR%\QtCreator\lib\qtcreator\plugins\.

В принципе, плагины от Qt Creator 2.0.0 скорее всего заработают и с версией 2.0.1 (последняя на данный момент), только в файле .pluginspec надо везде 2.0.0 заменить на 2.0.1.

Хабратопик, побудивший меня исследовать этот вопрос
Всего голосов 7: ↑7 и ↓0+7
Комментарии5

Встраиваем качественный звук в Qt приложение (Qt + FMOD)

Время на прочтение2 мин
Количество просмотров8.7K
Помню время, когда я обрадовался мультимедийным возможностям Qt… phonon хорош, это да. Но помню и время разочарования: слишком мало всего умеет этот самый phonon. Как минимум, он не умеет воспроизводить два звука одновременно. Да и интерфейсы у него хромают…

Как бы то ни было, а начал я искать что-то получше, причём кроссплатформенное. После пары неудачных находок, я наткнулся на FMOD Library. Не смотря на отсутствие исходного кода, это бесплатная (для некоммерческого использования) кроссплатформенная библиотека.

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии5

TODO Plugin для QtCreator

Время на прочтение9 мин
Количество просмотров8.9K
Итак, уже давно уважаемый Евгений писал нам о хаках QtCreator, а также указывал в своем блоге документ с подробной инструкцией по созданию плагина. И вот на этих выходных, будучи на даче, оторванным от цивилизации и интернета, я решил попробовать написать свой плагин. Плагин достаточно прост, он выводит список все TODO, FIXME и т. д. комментариев в текущем открытом документе. Ниже я расскажу про то, как написан этот плагин, и вообще про написание плагинов для QtCreator.
TODO Plugin

Узнать как написать свой плагин
Всего голосов 43: ↑40 и ↓3+37
Комментарии30

Пишем виджет рабочего стола под Maemo5 на Qt. Часть вторая и заключительная

Время на прочтение12 мин
Количество просмотров3K
Доброго времени суток, хабрапользователь. Продолжаю цикл статей о Nokia N900. И продолжаю начатую в прошлый раз статью о написании виджета для N900 на Qt. И так, в прошлый раз мы сделали простое приложение, которое получает список из файла специального формата (xml). На это раз мы это приложение доделаем и превратим его в такой вот виджет рабочего стола:
image
Так как я пишу больше о Maemo5 (MeeGo в перспективе), то попытаюсь поменьше уделять внимания на Qt и побольше на интеграцию с Maemo5/Hildon. И очень постараюсь показать, что разработка приложений на Qt не требует знаний специфики платформы и «родной среды» (в Нашем случае — это GTK).
В этой статье я напишу о том, как:
  1. Написать делегат, для «красивого» отображения информации.
  2. Реализовать собственную модель, для обеспечения функционала приложения.
  3. Сделать составной виджет из нескольких других виджетов и набора функционала.
  4. Оформить это как виджет рабочего стола и сделать .deb-пакет.
  5. Добавить к этому виджету страницу с настройками.

Самое главное, что все вышеперечисленное не требует особых глубоких знаний и адаптации приложения под Maemo5, полученный виджет может отлично работать и на настольной системе (Mac/Win/Lin), но не как виджет рабочего стола, а как простое приложение.
меньше слов, а больше дела:
Всего голосов 25: ↑20 и ↓5+15
Комментарии26

Собираем Qt приложения для Symbian'а из-под linux'а

Время на прочтение3 мин
Количество просмотров2.9K
На этот раз собирать будем практически полностью нативными средствами, не используя Nokia remote compiler
Данный метод проверялся на Gentoo-amd64, в результате чего были получены вполне рабочие sis файлы. Огромным преимуществом при сборке из под Linux'а является то, что используется родной make, а не мутная утилита под названием abld. В результате мы получаем такие преимущества, как:
  • Многопоточность
  • Отсутствие лишних шагов в виде обсчета всех зависимостей
  • Отсутствие зависимости от тормозного active perl'а

В итоге скорость сборки увеличивается в разы!
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии6

Qt & Ubuntu. Настраиваем среду для компиляции win32-приложений

Время на прочтение3 мин
Количество просмотров28K
image
Эта мини-статья рассказывает об одном из способов осуществления кросс-компиляции приложений Qt для платформы win32.

Читать дальше →
Всего голосов 74: ↑69 и ↓5+64
Комментарии49

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

Работа

QT разработчик
8 вакансий