3

私は自分のアプリの 1 つを PC プラットフォームに移植しようとしている iOS / Cocoa 開発者です。マルチプラットフォームをコーディングして 1 つのアプリを維持することは気にしません。今後も iOS Mac 開発には cocoa と cocoa touch を使い続けます。QT 5 for PC を使用することにしました。賢明な選択かどうかはわかりませんが、簡単で、c++ を理解できます。そうでない場合は、正しい方向に向けてください。

私のアプリはそれほど複雑ではありませんが、いくつかの特別なカスタマイズが必要です。たとえば、iOS テーブル ビューのように見える ListView、Twitter ブートストラップ スタイルの検索ボックスを備えたカスタムの丸みを帯びたウィンドウを使用し、キーストロークなどのグローバル OS イベントや、ユーザーが他のアプリケーションを監視したいと現在取り組んでいます。SQLite と AES 暗号化も使用しています。

私の質問は、UI のカスタマイズに関するものです。

  1. そのためにQMLを勉強して使用する必要がありますか?それが正確に何であるかはわかりませんが、非常に単純な CSS のように見えますが、組み込みデバイス向けに設計されており、制限があると感じています...

  2. QML を使用すると、QT のすべての機能にアクセスできますか?

  3. QMLを使用する代わりにウィジェットをカスタマイズするために必要な他のオプションは何ですか(たとえば、目的のCでは、必要なものをサブクラス化して描画したり、イベントを処理したりします...)

  4. 私は Windows プラットフォームの経験がありません。QT5 の代わりに VisualStudio C++ を使用する必要がありますか? 所有者の変更により、私はどういうわけか不安を感じます。

4

2 に答える 2

6
  1. はい、そうすべきです。QML は宣言型言語であり、その中で JavaScript を実行できます。また、QML に関連するほとんどすべての UI を実行できます。特定の UI 要素がない場合は、プレーンな C++(Qt) で描画し、QML で使用できます。したがって、現時点では QML が Qt 開発に最適です。CSS とは異なりますが、はるかに強力です。
  2. はい、Qt が持つすべての力と、宣言型言語が提供する可能性のある追加の力 (UI 開発プロセスの簡素化と UI とロジックの最新の分解) を利用できます。
  3. プレーンな C++ Qt にはこのオプションがあり、ウィジェットのサブクラス化、再描画、動作の変更などを行うことができます。このアプローチは QML のものより劣っています。
  4. この点は腑に落ちません。一部の人々は、Visual C++ を別の言語のように考えていますが、これは間違っています。Visual C++ は、C++ + MS コンパイラが持ついくつかのマイナーな拡張機能と見なすことができます。しかし、GCC C++ と呼ぶのはばかげています。したがって、無料で入手できる Qt 統合アドインを使用すれば、基本的に Qt で Visual Studio をほとんど問題なく使用できます。または、一部の人々が MSVS よりも優れていると見なしている Qt クリエーターを選択することもできます。何を選択するかはあなた次第ですが、初心者にとっては、Qt Creator を Qt で使用する方がはるかに簡単だと思います。ただし、Qtクリエーターは単なるIDEであるため、サードパーティのコンパイラー(MSまたはGNUのいずれか)を使用する必要があるため、コンパイラーが必要になることに注意してください。
于 2013-03-05T09:43:05.970 に答える
2

QML デスクトップ コンポーネントを使用して、アプリケーションを簡単に構築できます: https://web.archive.org/web/20121203050945/http://blog.qt.digia.com/blog/2012/06/06/desktop-components- for-qt-5/

http://qt-project.org/wiki/Qt_Quick_Components

とにかく、Qt ウィジェットと Qt スタイル シートを使用してウィジェットをカスタマイズすることをお勧めします: http://qt-project.org/doc/qt-4.8/stylesheet-reference.html

于 2013-03-05T09:23:43.250 に答える