C++ のベテランが Qt を素早くマスターする方法

C++ のベテランが Qt を素早くマスターする方法

 

Qt を使用する理由

 

Qt は新しいテクノロジーではなく、C++ 言語のクラス ライブラリ フレームワークとみなすことができます。QT は拡張フレームワークであるため、C++ 言語自体以外の機能も必然的に提供されますが、QT の主な利点は次のとおりです。

 

  1. QT は優れたインターフェイスを作成できます。古い MFC と比較して、QT で作成されたインターフェイスはより美しく、便利です。
  2. QT はクロスプラットフォームで、クロスプラットフォームのインターフェイスとビジネスを実行できます。Windows で C# をインターフェイスとして使用するのは非常に良いことですが、Linux や Mac システムに直接移植することはできません。そして、QT はこれらの操作を自然に実行し、Windows で実行されるプログラムは、少しまたはまったく変更を加えずに Linux/Mac システムで直接実行でき、多くの組み込みプラットフォーム上で直接実行することもできます。
  3. QT は絶妙なインターフェイスを作成できるだけでなく、クラス ライブラリのカプセル化とデータ構造の適切なセットも提供し、C++ で実行できるすべてのバックエンド処理を実行できます。
  4. 一般に、QT は C++ を拡張するため、C++ は非インターフェイス プログラミングでの C++ のすべての機能を保持しながら、プラットフォーム間でのインターフェイス プログラミングをより適切にサポートできます。C++ をさらに強力にします。

 

 

基本的に、WPS、PhotoShop などのクロスプラットフォームのデスクトップ インターフェイス アプリケーション、さらには matlab などのデスクトップ レベルのアプリケーションを作成したい場合は、間違いなく QT が最初の選択肢になります。

 

C++ のベテランが QT を素早くマスター

 

C++ のベテランは QT をすぐにマスターでき、プロジェクトで 1 か月の実戦を行えば十分です。

実際、さまざまなコントロールの使用法を思いついてすぐに学ぶ必要はありません。コントロールの使用方法はリファレンス デスクとして使用できます。必要に応じて QT API マニュアルを読むだけです。これらには技術的な内容はなく、単に「辞書を引く」プ​​ロセスです。

 

QT をマスターするための核となるポイントは次のとおりです。

 

まずは C++ 言語自体をマスターする必要があります;専攻に生まれて共通のデータ構造をある程度把握しているのがベストです; 基本的には C++ 言語と共通のデータ構造をマスターしていれば、直接 90 個をマスターできます世界中のプログラミング言語の % 。原理は同じだからです。たとえば、java python c golang などの一般的な言語、C++ をマスターすれば、これらの他の類似言語もすぐにマスターでき、残りは習熟のプロセスです。

 

C++言語をどうやってマスターするかということですが、これ自体も大きなテーマです。詳細は後で拡張できます。ただし、基本的には、コピー コンストラクターが呼び出されるタイミング、ディープ コピーとコピー コンストラクターの関係、一時オブジェクトの生成と破棄のタイミング、ポリモーフィック仮想関数と非ポリモーフィック関数の実行時の決定など、いくつかのポイントがあります。これはコンパイル時、一般的に使用される STL クラス ライブラリなどで決定されます。これらの概念や考え方に精通している場合は、基本的に C++ 言語を十分にマスターしていることになります。

 

以前、7、8 年働いたプログラマーにインタビューしたことがありますが、彼は常に C++ を使用していたと主張しました。ただし、コンパイラ自体によってコピー コンストラクターがいつ呼び出されるのかさえわかりません。このような C++ プログラマは問題を解決しているのではなく、問題を作成していると考えられます。彼ら自体がすでにトラブルメーカーであり、再構築する必要があります。

 

次に、QT のシグナル スロット メカニズムを深く理解することです。

 

私の意見では、QT の核心はシグナル スロット メカニズムであり、その本質はオブザーバー モードです。世界中で食べられる新鮮な技と言えます。

 

QT のオリジナルの設計者は、オブザーバー モードに基づいて QT の核となる考え方を進化させました。これは決してナンセンスではなく、長年にわたって QT 開発を行ってきた多くのプログラマは、QT のシグナル スロット メカニズムをマスターしていなければ、実際のところ、本質的に QT をマスターしたとはみなされず、必要なときに書くだけです。それ。

 

ディープ チャットの場合、connect 関数の 5 番目のパラメーターを知る必要があり、送信者と受信者がマルチの場合に、いつ、どこで、誰がシグナルをトリガーするか、誰が、いつ、どこで実行するかを明確に理解する必要があります。 -スレッドスロット機能。これらの核心点が明確でない場合、本質的な問題には触れられておらず、まだレンガを動かす段階にあります。

 

今日はまずここに書きます。芸術からタオに入るにはプロセスが必要です。具体的なフォローアップについては、「マルチスレッド QT 信号スロット メカニズムの重要なポイント」シリーズの記事を参照してください。

 

おすすめ

転載: blog.csdn.net/peterbig/article/details/106941022