diff --git a/src/app/main.cpp b/src/app/main.cpp index bb67387..a59eb5c 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1210,7 +1210,7 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re // 仅真正换项目用(delete-refresh 等 switchProject(currentProjectId) 不走此处,避免误清)。 auto clearCentral = [drawer, sceneCtrl, emptyState, checkedProfiles, checkedAnalysis, pushChecked, lastAnalysisRows, refreshAnalysis, checkedSliceIds, - syncSlices]() { + syncSlices, basemap]() { // 三栏清空(col2D/col3D setDatasets({}) 会顺带发空勾选 → setChecked2DDatasets({})/帘面清空)。 drawer->col3D()->setDatasets({}); drawer->col2D()->setDatasets({}); @@ -1223,6 +1223,7 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re pushChecked(); // setCheckedDatasets({}) → 帘面/体素清空 syncSlices(); // 切片随空勾选调和 sceneCtrl->setChecked2DDatasets({}); // 2D 足迹显式撤场(与 col2D 空勾选双保险) + basemap->hide(); // 底图瓦片清空(锚在旧项目位置;新项目数据到来 re-anchor 时按新位置重显) // 空状态浮层恢复(对象树勾选会随 structureLoaded 重建而清,无需手动)。 emptyState->setVisible(true); };