このゲームでは、私たちは「ゲーム」を作る必要があります。このゲームでは、迷路を視覚化し、その道を見つけます。この視覚化は、2つの異なる方法で可能でなければなりません。私たちの場合には、テキストベースの視覚化とより良い方法です。戦略パターンQtあいまいな基盤
これにQtを使用する必要があります。QMainWindowにQWidgetを使用しています。このウィジェットは、1つまたは他の視覚化になります。ゲーム中に視覚化を切り替えることができ、戦略パターンを使用してインタフェース(ViewInterface)を作成し、両方のビジュアライゼーションでこれを実装できることが分かります。 ViewInterfaceの実装のほかに、両方のビジュアライゼーションは別のクラスを継承し、テキストベースではQPlainTextEdit(テキスト付きのQWidgetを持つ)であり、FancyではQDialogです。私のコントローラでは、私のコントローラには、QWidetを満たすために使用されるViewInterfaceへのポインタがありますが、このViewInterfaceもQWidgetから継承しなければなりません。QWidgetはこのエラーを引き起こします:QObjectは 'TerminalView'のあいまいなベースです。
ゲームの再生中にビューを切り替えることができ、現在アクティブなビューでのみ更新を呼び出す必要があるため、特定のビューを 'setWidget'に渡すことはできません。
私が何か間違ったことをやっているか、どのように私はこの問題を解決することができますか? (私はすでにそれについて考えていましたが、解決策はありません)。
、私はエラーを取得する 'QObjectを' 'はTerminalView' 私のコードの曖昧な拠点です。 .. }; ' – YFrickx
あなたの編集はまだ見えませんでしたが、これで問題は解決しますが、別の問題が発生します:これを行うと、ViewInterfaceポインタを使ってQWidgetを設定できません。確かに可能ですが、私の意見ではこれは本当にきれいではありません – YFrickx