Практически в каждом проекте, встает задача персистентного чтения/записи конфигурации. Не секрет что существует большое количество уже готовых библиотек для решения этой задачи. Некоторые из-них просты, некоторые чуть сложнее в использовании.
Если же проект разрабатывается с использованием Qt, думаю нет смысла линковать дополнительную библиотеку, так как в Qt есть все средства для создания очень простого, гибкого и кроссплатформенного решения.
Как раз о таком решении хочу расказать вам в этом посте.
Читать полностью »
Рубрика «Qt Software» - 14
Один из методов работы с конфигурационными файлами в С++ (Qt)
2012-08-05 в 16:29, admin, рубрики: c++, config, qt, Qt Software, tricks, Программирование, метки: c++, config, Qt, tricks, ПрограммированиеNokia закрывает свой Австралийский офис и собирается уволить всеx разработчиков. Бывший инженер Nokia Атлант Шмидт опубликовал сообщение в списке рассылки, что ребята из Nokia настойчиво хотят продать свои активы Qt.
Я не собирался говорить об этом, но тема возникла…
Надежный источник прошептал мне на ухо, что
после того как Nokia убила Meltemi,
Себастьяну Нюстрему (старший вице-президент, отвечающий за Qt) дали задание с целью распродажи активов Qt.
Большой экперимент Nokia с фреймворками (мобильными и иными)
закончен.
Qt + OpenCV. Новое устройство GigE интерфейса доступа к сетевым видеокамерам как CvCapture
2012-08-01 в 9:18, admin, рубрики: c++, opencv, qt, Qt Software, обработка изображений, Программирование, метки: opencv, Qt, обработка изображений, Программирование Как говорил Генрих VIII очередной жене, — «Я вас долго не задержу...»
Если вас, уважаемый читатель, угораздило приобрести видеокамеру, поддержка которой не обеспечена библиотекой OpenCV, а методы работы оной с изображениями ой как нужны, не следует расстраиваться.
Сперва изучим, что нам преподнесли, или что сами, несведующие, купили.
- Интерфейс GigE поддерживается SDK, лежащей в свободном доступе или поставленной совместно с товаром. Первый плюс!
- Документация более-менее осмыслена. Снова повезло!
- Примеры есть! Надо же… Плюс!
Итак, я стал «счастливчиком» по плюсикам этого списка, заполучив камеру Smartek Giganetix GC1921M
Методы SDK работают, но как-то так… Код частично закрыт. Уровень программиста стал понятен из фрагмента кода
...
if (m_selectedDevice->IsConnected()){
m_disconnectAct->setEnabled(true);
m_fwUpdateAct->setEnabled(true);
}
...
Если у вас возник вопрос, — «А что тут такого?», — я не смогу отправить вас на машине времени в советский вуз, где за это с вас снимут балл на экзамене. :)
Да, и ладно. Нам-то нужно, всего лишь, подключиться, принять поток и отключиться. Благо, примеры — на месте.
Читать полностью »
Захват изображений с вебкамеры через QCamera
2012-07-31 в 13:55, admin, рубрики: c++, directshow, qcamera, Qt Software, qt5, баги, обработка изображений, метки: c++, directshow, qcamera, qt5, багиПривет!
В этой статье я расскажу о работе с веб-камерой из Qt5 под Windows (но пример также должен работать под Linux и Mac OS X с установленным плагином gstreamer).

Если интересно, как сделать вот такое приложение и преодолеть возникающие при этом проблемы, то прошу под кат.Читать полностью »
Захват изображений с веб-камеры через QCamera
2012-07-31 в 13:55, admin, рубрики: c++, directshow, qcamera, Qt Software, qt5, баги, обработка изображений, метки: c++, directshow, qcamera, qt5, багиПривет!
В этой статье я расскажу о работе с веб-камерой из Qt5 под Windows (но пример также должен работать под Linux и Mac OS X с установленным плагином gstreamer).

Если интересно, как сделать вот такое приложение и преодолеть возникающие при этом проблемы, то прошу под кат.Читать полностью »
Qt Developer Conferences
2012-07-20 в 19:07, admin, рубрики: KDAB, open source, qt, Qt Developer Conference, Qt Software, Программирование, метки: KDAB, Qt, Qt Developer ConferenceС радостью спешу поделится новостью, что не зависимо от того, спохватится Nokia или нет, в Европе и в США пройдут мероприятия, сопоставимые по масштабу и формату с Qt Developer Days.
А Именно, в Европе компания KDAB в середине ноября в Берлине проведет Европейскую Qt Developer Conference
И в США в Кремниевой Долине компания Integrated Computer Solutions Inc. 5-7 декабря проведет Северо-Американскую Qt Developer Conference
Пишем панель для i3 window manager на Qt
2012-07-18 в 14:26, admin, рубрики: linux, panel, qt, Qt Software, Программирование, метки: panel, Qt i3 — мой любимый тайловый менеджер окон. Но совсем недавно, занявшись очередной перекраской своего десктопа, я наткнулся на одну пренеприятнейшую вещь: функционала родной панели совсем не хватает для воплощения всех моих фантазий. В частности, она не умеет менять размер или изменять цвет границ. А что делает линуксоид, когда ПО его не устраивает и нет альтернатив(а их нет)? Правильно, патчит существующее, либо пишет своё. Разбираться с xcb, на котором написана стандартная панель у меня совершенно нет желания, поэтому я пошёл вторым путём. В качестве языка был выбран C++. Про фреймворк спросите у К.О.
Читать полностью »
QJson как библиотека для работы с JSON в Qt
2012-07-17 в 9:56, admin, рубрики: api, json, linux, MeeGo, nokia, qt, Qt Software, symbian, UNIX, windows, Программирование, метки: json, linux, MeeGo, nokia, Qt, symbian, unix, windows 
Привет!
На хабре еще не писали про QJson — отличный и очень простой инструмент для работы с JSON на Qt. Вообще Qt рекоммендуют использовать XML — но мне кажется что в очень многих случаях он бывает чересчур уж избыточным или лишним. В некоторых случаях лучше использовать JSON. В этой заметке я расскажу как скачать, собрать и использовать QJson для работы с JSON в Qt.
Внимание! Этот пост — заметка. Все что вы тут прочитаете можно найти в гугле и на офф сайте проекта — но я думаю что такая заметка не будет лишней.
Читать полностью »
Yet another factory
2012-07-17 в 7:54, admin, рубрики: c++, factory, Qt Software, ооп, метки: factory В текущем проекте стала часто возникать необходимость конструирования множеств разнообразных объектов по каким-то идентификаторам. Была написана одна фабрика для какого-то множества, другая. Потом пришло понимание, что мы делаем одно и то же и нужно какое-то повторяемое решение.
Проект базируется на Qt, который, как известно, имеет развитые механизмы работы с метаданными. Тем не менее конструирование объектов через QMetaObject нас не удовлетворяло по двум причинам: во-первых конструируемые объекты должны быть QObject'ами, а во-вторых при конструировании мы получаем указатель на QObject, который так или иначе придется преобразовывать, что чисто эстетически некрасиво.
Проанализировав круг задач пришли к выводу, что мы хотим иметь статическую фабрику в базовых классах некоторых множеств наследников. Т.е. писать что-то в таком духе:
BaseClass * instance = BaseClass::factory()->build("derived_name");
При этом, мы не хотим писать каждый раз много однообразного служебного кода. Да, мы ленивые.
И конечно же мы не хотим чтобы фабрика или базовый класс знали о всех наследниках. Читать полностью »


