UI インターフェイスを削除する QT プロジェクト コードの一般的な開発手順
プロジェクト開発のニーズにより、リーダーは QT プロジェクト全体でインターフェイスの実装に UI を使用しないことを要求します。これにより、プログラムの動作の安定性を確保し、コードのロジックと読みやすさを確保するために、まず次のような特定の手順を記録します。
1. まず、コントロールをドラッグしてインターフェイスのデザイン効果を確認し、次にプロジェクトをコンパイルして実行し、プロジェクトの実行中に操作インターフェイスが正常に開くことができることを確認します。たとえば、一般的なログイン インターフェイスの効果は次のとおりです。
2. UI インターフェイスに対応するヘッダー ファイルを開きます。プロジェクトが正常にコンパイルされた後、インターフェイス UI に対応する .h コード ファイルが自動的に生成されます。たとえば、ログイン インターフェイスは UI を通じて設計されます。通常は 3 つのコードがあります。ファイル、つまり、loginform.h および loginform.cpp、loginform.ui プロジェクトがコンパイルされて実行されると、システムは、loginform.ui ファイルに基づいて ui_loginform.h を自動的に生成します。プロジェクト内に loginform.h コード ファイルが見つかり、それを開くと、次のコードが見つかりました。
Ctrl キーを押したまま、名前空間 Ui {class LoginForm;} コード内の LoginForm をマウスでクリックすると、以下に示すように、Debug ディレクトリ内の ui_loginform.h ファイルが開きます。
3. UI インターフェイスによって生成されたヘッダー ファイル内の対応するコードをプロジェクト コード ファイルにコピーします。このファイルには主に次の 3 つのコード部分が含まれます。
最初の部分は、コードに対応する変数定義です。
2 番目の部分は、インターフェイス setupUi(QWidget * xxx) 関数に対応するコントロールの詳細設定に対応するコードです。
3 番目の部分は、翻訳に対応するコードです。 retranslateUi(QWidget * xxx) 関数:
以下に示すように、制御変数定義の最初の部分のコードは、ログイン インターフェイス ヘッダー ファイルのloginform.h ファイル内の private: コードにコピーされます。
初期化関数と変換関数の定義を public:: void setupUi(QWidget *LoginForm);void setupUi(QWidget *LoginForm); に追加します。
次に、2 番目の部分と 2 番目の部分を追加します。図に示すように、loginform.cpp ファイルにコードの 3 つの部分を追加します。
4. ヘッダー ファイルとコード ファイル内の対応する ui 関連のコードを削除します。
- loginform.h ファイル内の次の関連コードを削除します。
ネームスペース Ui { class LoginForm; } 和 Ui::LoginForm *ui;
- loginform.cpp ファイル内の次の関連コードを削除します。
a. ui-> を空の文字列 "" に置き換えます;
b. ui(new Ui::LoginForm) とコンストラクター内のコードを削除します
c. デストラクターの削除 UI を削除します。
5. QTCreator ソフトウェアのビルド メニューですべてのプロジェクトのクリーニング、qmake の実行、すべてのプロジェクトのリビルドなどの操作を順次実行した後、プロジェクトを実行すると、元のインターフェイス プロジェクトと同じ効果が正常に得られたことがわかります。操作は完了しました。プロジェクト内に .h および .cpp ファイルのみを含め、.ui ファイルを含めないという目標は達成されました。