ですから、私はQtの初心者であり、Qtグラフィックスに慣れることを目的としています。ただし、インターネット上のほとんどのガイドでは、グラフィックスの処理に関しては、Qt C++ではなくQMLを使用することを推奨しています。
これが私の質問です:Qt C++とQMLの違いは何ですか? QMLは何を提供しますが、Qt C++は提供しませんか?
実際には、QMLとC++の問題ではなく、Qtで使用するUIテクノロジーの問題です。
HTML5とOpenGLは別として、QtWidgets vs QtQuickの質問は、他の場所で議論されています。たとえば、 Qt Quick vs. Qt Widget およびこの Qt DevDays 2014プレゼンテーション です。
私の個人的な意見:特に理由がない限り、従来のデスクトップアプリケーションにはQtWidgetsを使用し、モバイルおよび組み込み(タッチスクリーンを備えたデバイス)にはQtQuickを使用します。 QtWidgetsは、従来のデスクトップコントロールをより適切に、より成熟してサポートしますが、QtQuickは、アニメーションと完全にカスタムのスタイル設定に適しています。
デスクトップでQtQuickを使用する理由の1つは、ツールバー、メニューバー、ドラッグアンドドロップなどの従来のデスクトップコントロールともう少し戦うことを犠牲にして、多くのカスタムアニメーションとスタイリングが必要な場合です。
QtWidgets、を選択する場合、言語は常にC++です(Pythonバインディングを使用しない限り))。 Qt Designerツール を使用してUIを視覚的に作成し、最終的にそれらをC++にコンパイルします。
QtQuick、を選択すると、UIパーツの言語はQMLとJavaScriptになります。ただし、適度に大きなQtQuickアプリケーションでは、ある時点でC++部分もあります。たとえば、他のCおよびC++ライブラリとのインターフェイス、JavaScript APIが関連付けられていない操作、または単により速く、より保守しやすいコードJSより。 C++のクラスとオブジェクトにはQMLからアクセスできます。詳細については、 ドキュメント を確認してください。