30

QMainWindowQt アプリケーションのメイン ウィンドウです。したがって、通常は 1 つしかありませんがQMainWindow、アプリケーションに複数のインスタンスを含めることは可能でしょうか?

Qt ベースの GUI アプリケーションBを別の Qt ベースの GUI アプリケーションAに統合する作業を行っています。これらのアプリケーションには両方とも があり、最初のステップとして、両方の古いタブを持つQMainWindow新しいアプリケーションを作成することを検討していました。そうすれば、ユーザー インターフェイス自体を何も変更することなく、GUI BのバックエンドをAのバックエンドに接続することに集中できます。これは実行可能なアプローチですか、それとも他の提案はありますか?QMainWindowQMainWindows

4

1 に答える 1

40

QMainWindow必要な数のインスタンスを持つことができます。Aは、メニューバー、ツールバー、ステータスバー、ドッキングフレームワークを提供するQMainWindowだけです。QWidgetしかし、基本的にはそれだけなQWidgetので、好きなだけ持つことができます。

QMainWindow複数のメインウィンドウがあると混乱する可能性があるため、通常、GUI設計上の理由から1つしかありません。ただし、QtAssistantそれ自体の新しいインスタンスを開くことができるようなアプリケーションを実装する場合、1つのプロセスには複数のメインウィンドウがあります。

あなたが提案することはうまくいくはずです。タブのあるウィンドウは、そのウィンドウQMainWindowにもツールバーを追加したい場合を除いて、である必要はありません。

于 2008-11-26T02:46:37.627 に答える