我的QT项目中有多个UI窗口。当新的UI窗口打开时,必须关闭先前的UI窗口,也就是说,在每个时间点只能打开一个UI窗口。怎么办呢?
答案 0 :(得分:1)
之前我做过,我建议你不要关闭(删除)用户界面。
只需隐藏它,当你需要时再显示它。
检查此代码:
当用户点击查看第二个用户界面时:
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