QtデザイナーフォームでQtデフォルトプロジェクトを作成しました。
クラス MainWindow は、mainwindow.h で宣言されてから、mainwindows.cpp に含まれます。
なぜこのように行われるのですか?このフォームを mainwindows.cpp で直接宣言しないのはなぜですか?:
class MainWindow
{
...
}
コードを追加する適切な方法は何ですか? たとえば、メソッドをトリガーするボタンです。
C++ では通常、クラス定義をヘッダー ファイル (.h) に入れ、メソッドの実装をソース ファイル (.cpp) に入れます。これにより、クラスのクライアントは、各関数の実装を確認することなくクラスを使用できます。つまり、メソッドを追加する場合、通常は 2 つの変更を行う必要があります。メソッドをクラス定義 (ヘッダー内) に追加し、メソッドの実装を .CPP ファイルに追加します。
ヘッダー ファイル内:
class MainWindow
{
void SomeMethod();
};
ソースファイル内:
void MainWindow::SomeMethod()
{
// Your code here.
}
クラスの定義は別のファイルで必要であり、そのインスタンスが関数でMainWindow
構築されてから表示されます。main
そのため、ヘッダー ファイルでクラスを定義する必要があります。
独自のコードを追加するにはいくつかの方法があります。説明したボタンについては、QtCreator UI で完全に作成するか、コンストラクターで「プログラムで」作成することができますMainWindow
。