Разница между qt qml и qt быстро

Q1: меня путают с qml, quick1.0 и quick2.0. Какая разница между ними.

Я использую qt creator 2.8.1 на основе qt 5.1.1. Я хочу разработать настольную программу, какую технологию я должен использовать?

2: Как экспортировать данные в быструю программу? Я только нахожу документ v 4.7 о qml.

+47
источник поделиться
2 ответа

EDIT: обратитесь к @TheBootroo за лучшим ответом

Хотя мой ответ был принят OP, я хочу пересмотреть (или даже) удалить мой ответ.

Мой ответ основывался на личном опыте в отношении Qt 5.2 в 2013 году, некоторые из которых сегодня недействительны:

  • QML - это Qt Meta Language или Qt Modeling Language - это язык разметки пользовательского интерфейса.
  • QtQuick (как QtQuick 1.x, так и QtQuick 2.x) использует QML как декларативный язык для разработки приложений, ориентированных на пользовательский интерфейс.

Вернувшись в Qt 5.2, когда вы построили Quick App Qt, важным вопросом было то, было ли приложение QtQuick 1.x или QtQuick 2.x. Это не только повлияло на компоненты, которые были доступны, но и изменило способ рендеринга приложения.

Назад в 2013 году:

  • Приложения QtQuick 1.x часто выбирались, если вам приходилось ориентироваться на более старые операционные системы (например, Windows XP) или более старое оборудование (например, OLPC), поскольку компоненты QML UI, такие как кнопки, были отображены компонентами, родными вашей ОС, Однако это означало, что вы нацелились на самый низкий общий набор компонентов пользовательского интерфейса и что ваш опыт пользовательского интерфейса может варьироваться от платформы к платформе.

  • Приложение QtQuick 2.x было выбрано для более согласованного кросс-платформенного вида, но для этого потребовалось, чтобы ваша платформа реализовала OpenGLES в достаточной степени, ваше приложение может не загрузиться. Это, к сожалению, ограничило ваше приложение только новейшим компьютером и устройствами, которые реализовали OpenGLES.

Когда я написал свой оригинальный ответ, это заставило меня рекомендовать QtQuick 1.x в некоторых сценариях над QtQuick 2.x.

Однако с тех пор Qt 5+ теперь позволяет вам нацеливать ANGLE на Windows, что обеспечивает совместимость OpenGL с высокой производительностью с рабочими столами Windows, переведя вызовы в Direct3D, который имеет гораздо лучшую поддержку драйверов.

+12
источник

QML - это имя языка (как и С++, что является другим языком...)

QtQuick - это инструментарий для QML, позволяющий разрабатывать графический интерфейс на языке QML (существуют другие инструментальные средства для QML, некоторые из них являются графическими, например Sailfish Silica или BlackBerry Cascade, а некоторые не являются графическими, например QBS, который является заменой для QMake/CMake/make...)

QtQuick 1.x был основан на Qt4.x и использовал API QPainter/QGraphicsView для рисования сцены. QtQuick 2.X был введен с Qt5.0 на основе Scene Graph, слоя абстракции OpenGLES2, высоко оптимизированного.

С Qt5.1 график сцены был расширен для использования многопоточности (QtQuick 2.1) С Qt5.2 Scene Graph еще намного оптимизирован для уменьшения вызовов CPU/GPU и использования памяти.

Механизм QML был основан на JsCore (JS-движок Webkit) в Qt4.x и был переустановлен на V8 (JS-движок Google Chrome) с 5.0, но это запрещает использовать его на мобильных телефонах, особенно на iOS, поэтому Qt5.2 представил новый движок QML с именем V4VM, созданный ребятами/для Qt.

Существуют также QtQuick Controls, которые представляют собой набор виджетов, основанных на QtQuick. Первоначально он предназначался для настольных компьютеров, но Qt 5.4 представил собственный L & F для Android, основанный на голой теме. Тема материала, а также тема iOS находятся в разработке, но недоступны в текущей версии Qt (5.5). Некоторые элементы управления были только Enterprise, но в Qt5.5 они переименовывались как Extras, и теперь они доступны для всех лицензий. Другая разработка проходит под названием QtQuickControls 2, которая полностью переписывает элементы управления, чтобы получить лучшую производительность, нацеленную на легкие встроенные интерфейсы, она должна быть на этапе предварительного просмотра в Qt 5.6.

Из Qt5.5 появился новый модуль с именем QtQuick3D, который дает возможность создавать 3D-приложения/игры с использованием языка QML. Он не использует SceneGraph, который слишком ориентирован 2D/2.4D. Для этого использования новый движок называется FrameGraph.

Если вы разрабатываете современные приложения, вы должны использовать Qt5.x + QML 2.x + QtQuick 2.x, чтобы коснуться самой обширной пользовательской базы.

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

+130
источник

Посмотрите другие вопросы по меткам или Задайте вопрос