The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Тестирование поддержки QML в среде разработки Qt Creator

31.01.2010 22:32

Разработчики Qt представили тестовую версию системы визуального проектирования интерфейса, базирующуюся на использовании языка QML. В качестве языка для создания сценариев в QML используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками, представляющими собой определение JavaScript-объектов. QML-компоненты могут быть не только интегрированы в состав проектов на языке C++, но и работать в виде обособленных графических приложений, логика функционирования которых задана целиком на языке JavaScript.

Поддержка визуального QML-дизайнера, QML-отладчика, а также интеграция работы с QML-кодом (подсветка синтаксиса, интерактивная подсказка, автодополнение кода и т.п.) будет добавлена в будущий релиз интегрированной среды разработки QtCreator, тестовую версию которого уже можно загрузить с сайта компании Nokia. Для наглядной оценки возможностей QML-дизайнера на YouTube размещен специальный видеоролик. Версию модуля с поддержкой QML для библиотеки Qt 4.6 можно загрузить здесь.

Пример простейшего приложения на QML:


   import Qt 4.6

    Rectangle {
      id: page
      width: 500; height: 200
      color: "lightgray"

      Text {
         id: helloText
         text: "Hello world!"
         font.pointSize: 24; font.bold: true
         y: 30; anchors.horizontalCenter: page.horizontalCenter
      }
   }



  1. Главная ссылка к новости (http://labs.trolltech.com/blog...)
  2. Declarative UI (QML)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/25232-qml
Ключевые слова: qml, qt, gui, interface, visual
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (20) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, anatolb (?), 23:24, 31/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Среда с виду похожа на Adobe Flash, но лучше. Qt-ники молодцы
     
  • 1.2, croster (ok), 23:39, 31/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В качестве языка для создания сценариев в QML используется JavaScript
    >логика функционирования которых задана целиком на языке JavaScript

    Интересно, а какова производительность таких приложений по сравнению с C++?

     
     
  • 2.5, XoRe (ok), 00:24, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>В качестве языка для создания сценариев в QML используется JavaScript
    >>логика функционирования которых задана целиком на языке JavaScript
    >
    >Интересно, а какова производительность таких приложений по сравнению с C++?

    Я думаю, что все печально.
    Но буду рад взглянуть на графики от фороникса =)

     
  • 2.9, azure (ok), 08:44, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Производительность _приложений_ чем меряется то? Скоростью обработки пользовательский действий (клик по кнопке, открытие диалога, вывод предупреждений етц)? Люди вроде как и не жалуются на производительсть веб-интерфейсов, обычно не хватает скорости загрузки\отправки данных или обработки данных на стороне сервера\клиента, но уж никак не взаимодействие с интерфейсом.
     

  • 1.3, zhus (ok), 00:01, 01/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я правильно понимаю, что из JavaScript будет доступ к c++ объектам|библиотекам?
     
     
  • 2.6, nickelodeon (?), 00:42, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Доступ будет к объектам, наследованным от QObject, т.е. снабженными макросом Q_OBJECT, а доступны будут только поля и методы, описанные как properties с помощью спец макросов. Но т.к. практически вся Qt имеет необходимые описания, то ответ: да, с жабасрипта можно будет заюзать С++ классы. Свои классы нужно будет описать (см. выше), чтоб их "видел" ЖаваСкрипт.
    Поправьте меня, если напутал.
     

  • 1.4, XoRe (ok), 00:23, 01/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    JavaScript, CSS...
    Вы купили новый Core Quadro и не знаете, чем его загрузить?
    Не волнуйтесь, мы вам поможем...
     
     
  • 2.7, LestorN (?), 07:36, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Чушь. На стареньком Qtek S110 под WinMobile летает!
     
     
  • 3.8, аноним (?), 08:11, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    видите ли, LestorN, на мобильных поатформах другие требования и другой способ использования интерфейсов.
    пользователь можен запустить приложение и через пару секунд оно появится на экране. пара секунд - это не много, это привычно на мобильных платформах. однако, выполняя то же приложение на десктопе, пользователь поразится, насколько медленнее отрисовывается форма размером семьсот на пятьсот, будет раздосадован высокой загрузкой процессора при изменении размера окна и обнаружит скудную функциональность элементов управления.
     
  • 3.13, XoRe (ok), 17:01, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Чушь. На стареньком Qtek S110 под WinMobile летает!

    Вы знаете, у меня телефон почти как у вас, T-mobile MDA Compact (аналог Qtek s100).
    Операционная система у меня, и у вас - MS Pocket PC 2003 SE.
    Так вот, эти модели обладают одним из самых быстрых процессоров на момент выпуска (2005 год) - 416 Мгц.
    Поэтому неудивительно, что Pocket PC 2003 года не тормозит (и даже летает) на очень быстром компьютере 2005 года.
    Но даже с такой ситуацией я иногда замечал, что телефон не сразу реагирует на звонок.
    Например, звонок может появиться через несколько секунд, а картинка звонка - ещё через несколько.
    И это даже тогда, когда с телефоном ничего не делаешь.
    Я предполагаю, что там очень неэффективные алгоритмы сортировки контактов и смсок.
    Редкатор контактов (фотоконтакты) список из 100-150 контактов формирует 10-15 секунд.
    Плюс, весьма весело хранятся смски - одна смска в одном файле.
    Поэтому, когда набирается несколько тысяч смс, то он их загружает очень медленно.
    А удаляет их минут 20.
    Но слава богу, что MS не стала использовать интерпретируемые языки в мобильных ОС)

    А если честно, не понятно, что вы назвали чушью.
    Я говорил про тенденции использовать JavaScript на рабочем столе.
    Вы говорите про мобильную ОС, которая написана на С/С++.
    Поясните?

    P.S.
    Кстати, вы можете перепрошить телефон и поставить туда одну из последних WinMobile (5/6/6.1).

     
     
  • 4.17, LestorN (?), 20:29, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У меня какраз перепрошитый прошивкой от Cotulla. Специально понижал скорость процессора до минимума 104 МГц. Перегружал чтобы вычистилась память. Создавал ListView с простым делегатом (текст по центру и рамка со скруглённым  краями) и заполнял из того же JS 1000 записями. Время старта при уменьшении скорости увеличивалось, но скорость прокрутки на глаз не изменялась. На том же аппарате мне приходлось сталкиваться с тремя программами для удалённого сбора заказов торговых агентов. Две из них на C#, одна на C++ и wxWidgets. Могу сказать только одно: скорость именно интерфейса этих творений была просто ужасающей. QML дал им огромную фору. Я неплохо разбираюсь в кишках Qt и могу сказать без фанатизма - тролли создают действительно быстрые и красивые вещи, которыми приятно пользоваться. Ну и не забываем про скорость разработки и, что иногда не менее, а то и более важно, скорость прототипирования.
     
     
  • 5.18, XoRe (ok), 23:10, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это уже хороший и развернутый ответ.
    Да, согласен, повелся на слово "JavaScript".
    Забыл, что графика там рисуется с помощью Qt)
     
  • 2.10, Антон (??), 08:49, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >JavaScript, CSS...
    >Вы купили новый Core Quadro и не знаете, чем его загрузить?

    Меня поражает упертость в области построения интерфейсов. В web все летает на динамических языках, обслуживая сотни одновременных коннектов на одной машине, смеются над теми, кто начинает _все_ переписывать на Си, а не только критические участки.  В области создания  пользовательского интерфейса выполняемые задачи очень похожи, даже проще, но отношения к динамическим языкам противоположное.

    Будущее за динамическими языками, а если вам не сказать, что программа на Python или JavaScript, то вы даже этого не заметите. Все библиотеки отрисовки остаются на Си/Си++, наиболее критические вычислительные части логики работы программы тоже без проблем на Си/Си++ можно переписать, но использовать Си для обработки событий - это уж точно из пушки по воробьям.

     
     
  • 3.14, XoRe (ok), 17:28, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Извините, но вы кажется про web сервер Я согласен, что переписывать на Си в бол... большой текст свёрнут, показать
     
  • 3.16, аноним (?), 17:33, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >если вам не сказать, что программа на Python или JavaScript, то вы даже этого не заметите

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

     
  • 2.12, Чорная дипрессия 666 (?), 10:37, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, я купил ПЭВМ "Электроника" чтобы писать GUI на ассемблере, спасть мир от богомерзких динамических языков.
     
     
  • 3.15, XoRe (ok), 17:32, 01/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Нет, я купил ПЭВМ "Электроника" чтобы писать GUI на ассемблере, спасть мир
    >от богомерзких динамических языков.

    К слову сказать, в Windows программы пишутся на компилируемых языках)
    Ну, не все конечно.
    Но большинство.

     

  • 1.11, netc (ok), 09:24, 01/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    согласен!

    только где-ж такое чудо взять - то не подскажите ?

     
  • 1.19, mamantoha (?), 01:01, 02/02/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не плохо. Свою нишу оно найдет.
    Вот пример реализации небольшого клиент vkontakte на QML
    http://habrahabr.ru/blogs/qt_software/82665/
     
  • 1.21, Аноним (-), 11:56, 03/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    объект управлдения - это:
    1. производственный коллектив;
    2. аппарат управления;
    3. деятельность руководителя;
    4. организация рабочего места?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру