• QML — новый подход к построению GUI

      Традиционно все десктопные приложения пишутся на императивных языках программирования, этот подход прост и понятен, куда проще описать последовательность действий для решения той или иной задачи, нежели поставить задачу в понятной для машины форме, но когда речь заходит о проектировании внешнего вида и поведения, возникают сложности.
      Веб дизайнеры же привыкли описывать, как должно выглядеть веб приложение, то есть ставить задачу, а не по пунктам описывать её решение, такой подход называется декларативным, он удобен, но к сожалению в традиционных приложениях до сих пор господствует именно императивный подход. Есть конечно дизайнеры форм, но они лишь позволяют в общих чертах обрисовать внешний вид приложения, но совершенно не способны описать его поведение. Для решения это проблемы в Qt Software был предложен новый проект Declarative User Interface и в рамках него новый язык разметки:

      Встречаем QML


      Это новый язык разметки, позволяющий описывать не только внешний вид, но и поведение ваших приложений. Он очень прост и обладает json образным синтаксисом, немного сближающим его html5, что думаю очень придется по душе веб-дизайнерам, да и программистам тоже. А в перспективе это наконец позволит полностью разделить внутреннюю логику работы приложения и его внешнее поведение, в результате чего будет наконец решена извечная проблема, когда программист занимается ещё и внешним видом приложения, потому, как дизайнерам слишком сложно было вникнуть в программирование.
      Хотите прикоснуться?
    • Готовим плагин для qutIM на дому

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

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

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

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

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



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

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

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


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

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

          Поэтому было принято решение написать собственную файл модель с блекджеком и шлюхами избавленную от всего лишнего и максимально быстро работающую.
          Желающим читать далее...
          • +13
          • 4,5k
          • 8
        • Пробуем Qt 4.6: Qt Animations и State Machine

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

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

            Подробнее
            Реклама
          • Анонс Qt 4.6

              9 сентября этого года наша любимая компания, разрабатывающая один из лучших инструментариев для создания графических приложений, представила на публику анонс новой версии: 4.6. Что нового? А вот что:
              Подробнее
            • Смешать и слегка взболтать: Qt, Carbon и Cocoa

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

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

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

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

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

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

                    Happy building!
                  Самое читаемое