Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在QT中打开子UI窗口时如何关闭父UI窗口_C++_Qt_Qt5 - Fatal编程技术网

C++ 在QT中打开子UI窗口时如何关闭父UI窗口

C++ 在QT中打开子UI窗口时如何关闭父UI窗口,c++,qt,qt5,C++,Qt,Qt5,我的QT项目中有多个UI窗口。当一个新的UI窗口打开时,必须关闭上一个UI窗口,也就是说,在每个时间点上只能打开一个UI窗口。如何才能做到这一点?我以前做过,建议您不要关闭(删除)UI 把它藏起来,需要时再拿出来 检查此代码: 当用户单击以查看第二个UI时: void MainApp::on_btnSettings_clicked() { this->hide(); settingsManager = new SettingsManager(); // put this l

我的QT项目中有多个UI窗口。当一个新的UI窗口打开时,必须关闭上一个UI窗口,也就是说,在每个时间点上只能打开一个UI窗口。如何才能做到这一点?

我以前做过,建议您不要关闭(删除)UI

把它藏起来,需要时再拿出来

检查此代码:

当用户单击以查看第二个UI时:

void MainApp::on_btnSettings_clicked()
{
    this->hide();
    settingsManager = new SettingsManager(); // put this line in constructor
    settingsManager->show();
}
在关闭窗体(或后退按钮)的第二个UI上发出信号:

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,因为它可能适合您的用例,如果不适合,请详细说明您的问题。您可以更详细地说明吗?我不知道把connect放在哪里,而且当我把setingsbacktomainapp()放在第二个ui中时,我得到了未声明标识符的
用户