私はUIフォームで次の2つのクラスを持っています。qtの1つのクラスで2つのUIフォームを切り替えることはできますか?
- ログインウインドウ
- メインウィンドウ
今、私は私がログインウインドウでプッシュボタンをクリックして、新しいウィンドウがメインウィンドウでをポップアップするメインウィンドウに移動する必要がある場合。
void LoginWindow::on_pbLogin_clicked()
{
MainWindow *mainW = new MainWindow;
mainW->show();
}
私が持っているのは、mainWindowの内容をloginWindowで取得することです。 ことが可能ですメインウィンドウは、その内容を表示するために独自のウィンドウを作成せずに、私は、同じウィンドウにログインウインドウからメインウィンドウへ/移動を切り替えることができ、私はqstackedwidgetに
を使用したくありませんか?はいの場合、どうしたらいいですか?
*同じウィンドウ*に2つの異なるインターフェイスを表示するか、*新しいウィンドウ*をポップアップして元のウィンドウを非表示にしますか?なぜあなたは 'QStackedWIdget'を使いたくないのですか? –
要件に基づいてコントロールを非表示にします。 「メインウィンドウ」は、ログインの詳細が必要なときに制御します。メインウィンドウが必要なときに、メインウィンドウコントロールを表示します。動的にサイズを変更することができます。あなたが隠れているので、コントロールは重複することもできます。 – Naidu
QMainWindowはちょっと特殊です。たぶん2つのウィンドウを持っているだけで、2番目のウィンドウを1番目と同じジオメトリにすると、ユーザーは変更に気付かないかもしれません。あるいは、ログインビューをthr QMainWindowの中央ウィジェットとして実装し、ログイン状態のドック、メニューなどを非表示にすることもできます。 – hyde