Różnica między qt qml a qt quick

Pomyliłem się z QML, QtQuick 1.0 i QtQuick 2.0. Jaka jest różnica między nimi?

Używam QtCreator 2.8.1 oparty na Qt 5.1.1. Chcę opracować program komputerowy, z której technologii powinienem korzystać?

Author: TrebledJ, 2013-10-31

2 answers

EDIT: proszę odnieść się do @TheBootroo dla lepszej odpowiedzi

Chociaż moja odpowiedź została zaakceptowana przez OP, chcę poprawić (a nawet) usunąć moją odpowiedź.

Moja odpowiedź została oparta na osobistych doświadczeniach dotyczących Qt 5.2 w 2013 roku, z których część nie jest już aktualna:

    QML jest Meta-językiem Qt lub Qt Modelling Language jest językiem znaczników interfejsu użytkownika.
  • QtQuick (oba QtQuick 1.x i QtQuick 2.x) używa QML jako języka deklaratywnego dla projektowanie aplikacji zorientowanych na interfejs użytkownika.

Powrót do Qt 5.2 kiedy budowałeś Qt Quick Application istotnym pytaniem było, czy aplikacja jest QtQuick 1.x lub QtQuick 2.x. nie tylko wpłynęło to na dostępne komponenty, ale także zmieniło sposób renderowania aplikacji.

W 2013 roku:

  • QtQuick 1.aplikacje x były często wybierane, jeśli trzeba było kierować na starsze systemy operacyjne (np. Windows XP) lub starszy sprzęt (np. OLPC), ponieważ komponenty interfejsu QML, takie jak przyciski, były renderowane przez komponenty natywne dla systemu operacyjnego. Oznacza to jednak, że kierujesz na najniższy wspólny mianownik zestaw komponentów interfejsu użytkownika i że twoje wrażenia z interfejsu mogą się różnić w zależności od platformy.

  • QtQuick 2.aplikacja x została wybrana dla bardziej spójnego wyglądu między platformami, ale wymagało to, aby platforma zaimplementowała OpenGLES wystarczająco, Twoja aplikacja może się nie załadować. To niestety ograniczyło Twoją aplikację do tylko najnowszy komputer i urządzenia, które zaimplementowały Opengle.

Kiedy pisałem oryginalną odpowiedź, to skłoniło mnie to do polecania QtQuick 1.x w niektórych scenariuszach nad QtQuick 2.x.

Jednak od tego czasu, Qt 5+ pozwala teraz na celowanie kąta w systemie Windows, co zapewnia wysoką wydajność OpenGL kompatybilność z pulpitami Windows poprzez tłumaczenie wywołań do Direct3D, który ma znacznie lepszą obsługę sterowników.

 18
Author: Stephen Quan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-16 21:47:03

QML to nazwa języka (podobnie jak C++, który jest innym językiem...)

QtQuick jest zestawem narzędzi dla QML, pozwalającym na tworzenie interfejsu graficznego w języku QML (istnieją inne zestawy narzędzi dla QML, niektóre są graficzne jak Sailfish Silica lub BlackBerry Cascade, a niektóre nie-graficzne jak QBS, który jest zamiennikiem dla QMake/CMake/make...)

QtQuick 1.x to Qt4.x-based and used the QPainter/QGraphicsView API do rysowania sceny. QtQuick 2.X był wprowadzony z Qt5. 0, oparty na Scene Graph, warstwie abstrakcji OpenGLES2, wysoce zoptymalizowany.

Z Qt5. 1, Wykres sceny został ulepszony do korzystania z wielowątkowości (QtQuick 2.1) Dzięki Qt5.2 Wykres sceny jest jeszcze bardziej zoptymalizowany, aby zmniejszyć liczbę połączeń CPU/GPU i zużycie pamięci

Silnik QML został oparty na JsCore (js engine of Webkit) w Qt4.x i został ponownie oparty na V8 (js engine Google Chrome) z 5.0, ale to uniemożliwia korzystanie z niego na telefonach komórkowych, a zwłaszcza na iOS, więc Qt5.2 wprowadził nowy QML silnik o nazwie V4VM, stworzony przez / dla Qt guys.

Istnieją również kontrolki QtQuick, które są w zasadzie zestawem natywnie wyglądających widżetów, opartych na QtQuick. Pierwotnie był przeznaczony dla komputerów stacjonarnych, ale Qt 5.4 wprowadził natywny L & F dla Androida, oparty na motywie holo. Motyw materialny, jak również motyw iOS, są w fazie rozwoju, ale nie są dostępne od bieżącego wydania Qt (5.5). Niektóre kontrolki były tylko dla przedsiębiorstw, ale w Qt5. 5 zostały przemianowane na Dodatki i są teraz dostępne dla wszystkich licencje. Kolejny rozwój jest w trakcie, o nazwie QtQuickControls 2, który jest pełne przepisanie kontroli, aby uzyskać lepszą wydajność, skierowany do światła wbudowany UIs, powinien na etapie Tech Preview w Qt 5.6.

Od Qt5. 5 istnieje nowy moduł o nazwie QtQuick3D, który daje możliwość tworzenia aplikacji/gier 3D za pomocą języka QML. Nie używa Scenegraphu, który jest zbyt zorientowany na 2D/2.4 D. Nowy silnik został nazwany FrameGraph dla tego zastosowania.

Jeśli tworzysz nowoczesne aplikacje, powinieneś użyć Qt5.x + QML 2.x + QtQuick 2.x, aby dotknąć największej możliwej bazy użytkowników.

W Qt, ogólnie rzecz biorąc, zawsze śledź aktualizacje, ponieważ dodają one więcej funkcji, więcej perfomancji i więcej platform.

 189
Author: TheBootroo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-10 07:27:18