Где-то здесь не так давно был пост о нововведених в Qt5. Всё вроде выглядит замечательно, но как же обстоят дела на самом деле в отношении уже имеющихся приложений? В этой статье я рассмотрю пример портирования одного из своих проектов на Qt5 с сохранением совместимости исходников с Qt4.
Рубрика «Qt Software» - 11
Портируем Qt4 приложение на Qt5
2013-01-04 в 14:00, admin, рубрики: c++, porting, programming, qt, Qt Software, qt5, Программирование, метки: porting, programming, Qt, qt5Сборка Qt 5 в Visual Studio 2008
2012-12-29 в 14:01, admin, рубрики: qt, qt plugins, Qt Software, qt5, Visual Studio, windows, метки: Qt, qt plugins, qt5Всех с наступающим!
Digia предлагает Qt5 для Windows только скопилированную под Visual Studio 2010, причем с параметрами, которые не для всех идеальны. В частности это
- Собственно, сама необходимость использовать только VS2010
- зависимость Qt5Core.dll (и соответственно вашего приложения) от ICU. Это следущие DLL-ки: icuin49.dll, icudt49.dll, icuuc49.dll
- зависимость Qt5Gui.dll от Angle Library. Это следущие DLL-ки — libEGL.dll, libGLESv2.dll
- зависимость от Visual C++ 2010 Runtime (msvcr100.dll, msvcp100.dll). Для большинства это пожалуй не минус, т.к. в случае 2008 студии идут другие DLL-ки (msvcp90.dll и msvcr90.dll). Однако, во-первых последние стоят на многих машинах, а во-вторых в конце статьи будет приведет удобный способ таскать их с собой без необходимости устанавливать Microsoft Visual C++ 2008 Redistributable Package при установке вашего приложения.
В конце также будет рассмотрен вопрос последущего распространения приложений.
Читать полностью »
Qt 5.0.0 вышел!
2012-12-19 в 15:20, admin, рубрики: awesome, qt, Qt Software, qt5, Программирование, метки: awesome, Qt, qt5 Они все-таки успели!
Буквально менее часа назад, новый владелец Qt Framework — компания Digia, объявило о выходе долгожданного релиза Qt 5.0
И еще один релиз: Qt 5.0 RC
2012-12-07 в 19:20, admin, рубрики: QML, qt, Qt 5, Qt Project, qt sdk, Qt Software, метки: QML, Qt, Qt 5, Qt Project, qt sdk Привет, мой, космос Хабрахабр!
Ровно неделю назад я написал пост о выходе Qt 4.8.4, а сегодня нас ждет новый релиз! Поздравляю!
На сегодня это Qt 5.0 RC (первый релиз-кандидат). Подробности, собственно-говоря, под катом.
Qt 4.8.4 уже здесь!
2012-11-30 в 16:02, admin, рубрики: Digia, open source, qt, Qt Software, метки: Digia, Qt Привет!
Сегодня я хочу сообщить хабракоммьюнити что комманда разработчиков Qt вынесли Qt 4.8.4 в состояние релиза.
Это очередной patch-релиз (были исправлены баги, бинарная совместимость с Qt 4.8.x). Cписок достижений этого релиза под катом.
Читать полностью »
Digia представила свою стратегию развития Qt
2012-11-15 в 16:18, admin, рубрики: Digia, qt, Qt Software, стратегия развития, метки: Digia, Qt, стратегия развитияКак-то эта замечательная новость обошла Хабр стороной, тем не менее, я считаю что она заслуживает внимания.
Посты-ссылки отменили, так что процитирую новость здесь, надеюсь никто не против.
В рамках Qt Developer Days компанией Digia, которая с сентября 2012 года полностью отвечает за Qt Framework, был намечен ряд амбициозных задач по развитию продукта. Старший вице-президент Digia Tommi Laitinen и глава Qt Digia и Qt Project Lars Knoll изложили стратегию и план действий, направленных на то, чтобы Qt стал ведущей в мире кросс-платформенной средой разработки в течение пяти лет.
Читать полностью »
Сериализация boost::serialization (в контексте QT)
2012-11-10 в 12:20, admin, рубрики: c++, qt, Qt Software, Песочница, сериализация, метки: c++, Qt, сериализацияЕсть туториал на официальном сайте.
И все бы хорошо, если не множество подводных камней.
Все началось с того, что Читать полностью »
Реализация Qt signal/slot на Android
2012-11-05 в 20:11, admin, рубрики: android, java, qt, Qt Software, Программирование, Разработка под android, метки: android, java, QtПредисловие
Недавно портировал довольно большой проект с Qt (C++) на Android (Java), в процессе работы часто приходилось применять динамическое связывание объектов. Беда состояла в том что связывание (binding) в отличие от привычных сигналов и слотов в Qt в Java реализовано через лисенеры (listeners), и сколько я не пытался себя убедить что способ этот равноценен и тоже имеет место быть такого же удобства как при использовании сигналов и слотов достичь не удавалось.
Например, нам нужно связать бегунок (QSlider в Qt или SeekBar в Android) с каким либо действием, хотя бы привязать другой бегунок который будет послушно перемещаться следом за первым. В Qt подобная операция выглядит следующим образом:
Читать полностью »
Подкаст «Заметки о Qt» s02e02
2012-11-01 в 10:00, admin, рубрики: c++, Digia, QML, qt, qt creator, Qt Software, qt5, конкурс, Программирование, метки: c++, Digia, QML, Qt, qt creator, qt5, конкурс Мы с Vass записали и выложили вторую серию второго сезона подкаста «Заметки о Qt».
Сам подкаст на rpod.ru — qt-notes.rpod.ru/287388.html
Результаты конкурса внутри!
Читать полностью »
Аналог игры «Жизнь» — Evo
2012-10-27 в 14:04, admin, рубрики: evo, qt, Qt Software, qt4, Алгоритмы, естественный отбор, игра жизнь, искусственный интеллект, метки: evo, Qt, qt4, естественный отбор, игра жизнь Приветствую вас, читатели!
Недавно прочитал статью про игру Жизнь, и вспомнилось мне, что я в мае этого года начинал писать свой проект подобной направленности. Только вот интерес к нему за рутиной работы быстро угас, хотя написано было немало. И сейчас, вдохновлённый этой статьёй, я взял этот проект с пыльной полки и добавил несколько фич, о которых расскажу далее.
Вкратце, мой вариант имеет следующие условия:
- жизнь развивается на поле 256*256 клеток;
- на поле могут размещаться объекты трёх типов: живность, пища(назовем её травой) и камень (препятствие);
- живность представляет собой фактически модифицированную машину Тьюринга, если точнее, то это больше похоже на Автомат с магазинной памятью, т.е. живность является «процессором», выполняющим свой «генетический» код;
- живность имеет возможность совершать определенные действия (двигаться, есть, размножаться (пока только клонированием, мутации будут со дня на день, скрещивание в перспективе)), отдавая соответствующие команды;
- наступив на траву, живность её вытаптывает;
- для поглощения еды надо дать команду «Ешь в этом направлении!», находясь в соседней клетке;
- живность имеет память, что позволяет строить циклы, условия и т.п., т.е. полная по Тьюрингу (поправьте меня, если не прав!), объем памяти неограничен;
- живность может складывать и вычитать значения в уме, разрядность ограничена одним байтом;
- существует возможность реализации генетических алгоритмов (пока не реализовано).
Кому интересны подробности, прошу под кат!