2016-04-23 16 views
0

QTウィジェットはUI開発の面で非常に時間がかかります。私のCSSシートにはすでに3000行のコードがあり、UIの変更には非常に時間がかかります。私のアプリケーションはパフォーマンス面で非常に厳しいですが、私はウィジェットをQMLに埋め込んでUIのコントロールを簡単にすることを考えていましたが、実際にはパフォーマンスが心配です。試してみる価値があるのでしょうか?QTドッキング可能なウィジェットアプリケーションにQMLを埋め込むのは悪い習慣ですか?

答えて

2

私のアプリケーションは非常にパフォーマンスの面で要求している、私はUIの簡単かつ迅速 コントロールを持っているQMLにウィジェットを埋め込む 考えていたが、私は、パフォーマンスについては本当に心配して、価値 しようとしますそれとも悪い習慣ですか?

Qt 5.1以降、QtウィジェットのコンテナにQMLビューを簡単に埋め込むことができます。私はしばらく前につまずいたブログ:Combining Qt Widgets and QML with QWidget::createWindowContainer()があります。

パフォーマンスに関しては、アプリケーションに求められるパフォーマンスの種類は不明ですか?全体的なQMLは、OpenGLを介して、または非常に高速に画面にレンダリングします。一方、QMLではJavaScriptを扱う必要がありますが、もちろんC++に匹敵しません。しかし、QtにはQt Quick Compilerが紹介されています。 QML対QWidgetのベースのUIについては

:議論はその後、いくつかの考慮点などの意見の表現と考えることができます。

  • は、UIの一種、ウィジェットやQMLのいずれかを開発し、維持することであるベースより簡単に。
  • ハイブリッドUIは可能ですが、あなたが得ることができるものを理解することは理にかなっています。
  • ほとんどのデスクトップアプリケーションは、ウィジェットで完全に満足しています。
  • モバイルプラットフォームに移植される予定のアプリケーションでも、QMLの方が意味があります。
  • アプリが「タッチ」に頼っているとすると、QMLはウィジェットよりも有益です。

QTウィジェットはUI開発の面で非常に時間がかかるので、私の CSSシートすでにコードの3000行を持っており、それは非常に時間 UIの変更を行うことがかかります。

ええと...非常に重厚なスタイルのウィジェットベースのアプリですか?ウィジェットとQMLは非常に異なっていますが、ウィジェットスタイルシートとQMLはどちらも宣言的な言語ですが、これらの2つの概念が異なることは確かです。また、深刻なアプリケーションにはC++の多くが必要であり、QMLではC++コードとQMLを橋渡しする時間を費やす必要があると確信しています。

とQMLのアプリの分布も少し複雑純粋にウィジェットベースよりもすることができます。例えば、あなたはQtをカスタマイズする必要がある特定の仮想マシンやプラットフォームのためにエミュレートのOpenGLをサポートするために構築: 1つの、興味深い話題です。また、Qtクイックウィジェットでは、アプリと共に配布されているリソースにQtクイックウィジェットを置くか、Qtクイックコンパイラが必要です。それを使用する場合は、すべてのQMLコードがコンパイルされていることを確認してください。アプリケーションのどの部分もリソースから抜けている「スクリプト化された」QMLを使用していません。私はアプリでQt 5.5クイックコンパイラを使っていて、かなりのバグを発見しただけでなく、アプリインストールパッケージと共にフレームワークから特定のQtクイックファイルをドラッグする必要があります。標準ダイナミックリンクと windeployqtツールではそれほど悪くはありません。しかし、深刻なアプリは、しばしばすべての依存関係と静的にリンクする必要があり、ツールを使用することはできません。 windeployqt

全体的なQtはウィジェットからQMLに移行していますが、私たちが得ることができるものと実際のアプリケーションでQMLが必要なものは長い議論です。

関連する問題