0

私は学生で、論文のために質問ベースのゲームを作りたいと思っています。QT を使用してグラフィカル インターフェイスを作成したいと考えていますが、使用したことがなく、複数のウィンドウを持つアプリケーションを作成する方法がわかりません。「フォーム」と呼ばれる基本クラス (抽象) と、フォームから継承する他の 3 つのクラス (MainMenuForm、LoginForm、および GameForm) があります。

私が見つけたいくつかの例では、ウィンドウのレイアウトはコンストラクターで設定され、メインではメソッド show() と呼ばれますが、メインで次のようなことをしたいと思います。

// Creates a FormFactory object and ensures singleton instance
FormFactory * factory;

factory = factorySingleton.GetFactory();

//select a Form to display

int choice = 1;
Form * actualForm;

while (choice != 0)
{
    factory->Init(choice);
    actualForm = factory->ReturnActualForm();
    choice = actualForm->Display();
}

すべての派生フォームに共通の Display メソッドは、どのウィンドウが表示されるかを示す int を返す必要があります (たとえば、MainMenuForm の Display メソッドは、ユーザーがログイン ウィンドウに進みたい場合は 2 を返し、ユーザーがログイン ウィンドウを閉じたい場合は 0 を返します)。応用); 明らかに、Display メソッドもフォームを表示する必要があります。

最後に、私は彼らが書いたすべての例で気づいた

return app.exec();

メインの最後に。

私のプロジェクトでは、どこに app.exec() を書くべきですか? while 文の前、後、または中?

4

1 に答える 1