1
QTプロジェクトに複数のUIウィンドウがあります。新しいUIウィンドウが開くと、直前のUIウィンドウを閉じる必要があります。つまり、UIウィンドウを1つだけ開く必要があります。これはどうすればできますか?QTで子UIウィンドウが開いているときに親UIウィンドウを閉じる方法
QTプロジェクトに複数のUIウィンドウがあります。新しいUIウィンドウが開くと、直前のUIウィンドウを閉じる必要があります。つまり、UIウィンドウを1つだけ開く必要があります。これはどうすればできますか?QTで子UIウィンドウが開いているときに親UIウィンドウを閉じる方法
私はそれ以前にやったことがあります。あなたはUIを閉じない(削除する)ことをお勧めします。
ただそれを非表示にして、必要なときに再度表示します。
チェックこのコード:
ユーザが第2のUI表示するにはクリック:閉鎖形(又はバックボタン)上の第二UI上
void MainApp::on_btnSettings_clicked()
{
this->hide();
settingsManager = new SettingsManager(); // put this line in constructor
settingsManager->show();
}
信号を発する:上
void SettingsManager::closeEvent(QCloseEvent *event)
{
emit settingsBackToMainApp();
}
メイン隠すセカンドクラスとショーメイン:
void MainApp::settingsBackToMainApp()
{
settingsManager->hide();
this->show();
}
がスロットに信号を接続します。それはあなたのユースケースに適合しない場合は、あなたの質問に手の込んだこととして
connect(settingsManager,&SettingsManager::settingsBackToMainApp,this,&MainApp::settingsBackToMainApp); // put this line in constructor
はQStackedWidgetを見てください。 – Schuh