Qt プロジェクトのアーキテクチャ: グローバル クラスの説明

以下にいくつかのグローバル クラスを示します。これらは通常、Util フォルダーに配置されます。ユーティリティとは道具という意味で、一般的にはビジネスロジックとは関係のないデータ処理を指すことが多いです。

1. グローバル設定ファイル

グローバル構成ファイル管理クラス AppConfig は、対応するプロジェクトの構成ファイルの読み取りおよび書き込みに使用されます。形式は、ini、xml、json などです。小規模プロジェクトの場合は、設定ファイルの値をグローバル変数にマッピングするのと同等の便利な ini をお勧めします。

構成ファイルに多数の構成項目がある場合は、すべてを 1 つの大きなグループに入れるのではなく、検索しやすいようにグループに保管することをお勧めします。構成ファイルを読み取ると、構成ファイルが存在するかどうか、構成項目が欠落しているかどうかなどを判断できます。問題がある場合は、構成ファイルが再生成され、構成ファイルの悪意のある削除とプログラムの実行が回避されます。異常に。

構成ファイルを読み取るときに、デフォルト値 (Qt 構成ファイル クラス QSettings の value メソッドの 2 番目のパラメーター、set.value("Hardware", App::Hardware)) を入力して、読み取りの失敗を回避できます。先頭のノード 設定項目の値が期待値の型と一致しません。

設定ファイルを読み込んだ後、設定項目の値が要件を満たしているかどうかを再判断し、値をフィルタリングおよび修正することで、設定ファイルが手動で開かれて異常な値が埋め込まれることを防ぐことができます。 timer は 0 なので、設定を再度修正する必要があります。は正当な値です。

中国語の初期値は、QString::fromUtf8("administrator") のように QString::fromUtf8 でラップされます。漢字を含む構成項目の場合は、set.setIniCodec("utf-8") のように、構成ファイルのエンコードを utf-8 に設定します。

2. グローバル変数

グローバル変数管理クラス AppData は、プロジェクトで使用されるすべてのグローバル変数を設定するために使用されます。たとえば、現在のユーザー/システムがロックされているかどうかなど、この変数は判定処理の任意のコーディング位置で使用できます。ここにはナビゲーションバーの幅や高さ、ボタンのサイズ、UIインターフェイスのアイコンのサイズなどの変数を配置でき、システム起動後の解像度を判断して異なる値を設定できます。

この記事の利点は、Qt 開発学習教材パッケージ、技術ビデオ (C++ 言語基礎、Qt プログラミング入門、QT シグナルおよびスロット メカニズム、QT インターフェイス開発イメージ描画、QT ネットワーク、QT データベース プログラミング、QTプロジェクトコンバット、QSS、OpenCV、クイックモジュール、インタビューの質問など) ↓↓↓↓下記を参照↓↓記事下部をクリックして料金を受け取ります↓↓

3. グローバルイベント転送処理

グローバル イベント転送処理クラス AppEvent は、システム内の複数の UI および複数のクラスにわたってさまざまなイベントを転送するために使用されます。このクラスは、グローバルで統一された使用に便利なグローバル シングルトン クラスである必要があります。

例えば、クラスaの親クラスがb、クラスbの親クラスがcで、クラスdに送信するシグナルがある場合、イベント転送処理がない場合はシグナルを送信する方法となります。親クラスのネスト レベルがますます複雑になると、コードの管理がより困難になります。

クラス a のシグナルを appEvent クラスに送信し、クラス d が appEvent クラスに直接関連付けて処理します。プロジェクトが大きくなるほど、信号転送処理の必要性が増し、コードが明確になり、管理が便利になります。

4. グローバルプログラムの初期化

グローバル プログラム初期化クラス AppInit は、プログラムの開始後にいくつかの初期化処理を実行するために使用されます。

  • グローバルスタイルシートを設定する場合は、まず一般スタイルシートを読み込み、その後に追加スタイルシートの内容を追加してまとめて設定することをお勧めします。
  • 翻訳ファイルを設定すると、qt に組み込まれた qt_zh_CN.qm やユーザー独自の翻訳ファイルなどを複数ロードできます。
  • 起動ログ出力クラスは、ログサービスを起動するために使用されます。
  • 設定ファイルを読み取ります。
  • グローバルフォントを設定します。
  • プロジェクトのエンコーディングを設定します。
  • 乱数シードを初期化します。
  • ディレクトリが存在しないディレクトリにファイルが保存されないように、新しいプロジェクトに必要なディレクトリを作成します。
  • データベースを開いたり、ユーザー テーブルやデバイス テーブルなどの基本データをロードしたりするなど、データベースを初期化します。
  • 起動実行時間記録クラスは、各ソフトウェアの実行の開始時刻と終了時刻を記録するために使用されます。
  • グローバル イベント フィルターを関連付けて、カスタム ボーダレス UI のドラッグ、グローバル ボタンの処理などを処理します。

5、グローバル一般クラス

  • グローバル汎用クラス AppCommon は、遅延などの一般的に使用される関数をいくつか定義します。
  • デバッグ ログ出力クラス SaveLog は、ログをファイルまたはネットワーク プリントアウトに出力できるログ サービスを開始するために使用されます。
  • 実行時間記録クラス SaveRuntime は、各ソフトウェアの実行の開始時刻と終了時刻を記録するために使用されます。
  • グラフィック フォント クラス IconFont は、グラフィック フォント アイコンを設定するために使用されます。

この記事の利点は、Qt 開発学習教材パッケージ、技術ビデオ (C++ 言語基礎、Qt プログラミング入門、QT シグナルおよびスロット メカニズム、QT インターフェイス開発イメージ描画、QT ネットワーク、QT データベース プログラミング、QTプロジェクトコンバット、QSS、OpenCV、クイックモジュール、インタビューの質問など) ↓↓↓↓下記を参照↓↓記事下部をクリックして料金を受け取ります↓↓

おすすめ

転載: blog.csdn.net/QtCompany/article/details/131584197