diff --git a/mainwindow.cpp b/mainwindow.cpp index 204811d..af8eb06 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -591,6 +591,17 @@ void MainWindow::on_pushButton_save_clicked() { void MainWindow::on_pushButton_open_clicked() { + map_slot_config.clear(); + QList buttonList = btnGroup_slot->buttons(); + for (int i = 0; i < buttonList.count(); i++) { + buttonList[i]->setText(""); + } + for (int i = 0; i < SLOT_NUM; i++) { + std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(i + 1); + if(base_ptr != nullptr){ + ConfigMgr::Instance()->RemoveCard(base_ptr); + } + } tsi_config_file = QFileDialog::getOpenFileName(this, tr("选择文件"), tr(""), tr("*.json")); QFileInfo fileinfo; fileinfo = QFileInfo(tsi_config_file); @@ -605,7 +616,6 @@ void MainWindow::on_pushButton_open_clicked() { return; } ConfigMgr::Instance()->Load(tsi_config_file); - QList buttonList = btnGroup_slot->buttons(); for (int i = 0; i < buttonList.count(); i++) { std::shared_ptr base_ptr = ConfigMgr::Instance()->GetSlotPtr(i + 1); if(base_ptr != nullptr){