fix(canvas): 空状态去不透明卡片(移除OpacityEffect) + 视图详情转深色画布浮层(规范§6.5/§7.11)
This commit is contained in:
parent
58cabc6350
commit
8eb0c7413d
|
|
@ -349,19 +349,19 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
|||
// 仅三维视图显示;含 帘面 / 体素 勾选(体素=两交叉测线散点配准 IDW 的派生层,正确归宿)。
|
||||
auto* layerPanel = new QFrame(centerWidget);
|
||||
layerPanel->setFrameShape(QFrame::StyledPanel);
|
||||
geopro::app::applyThemedStyleSheet(
|
||||
geopro::app::applyTokenizedStyleSheet(
|
||||
layerPanel,
|
||||
QStringLiteral("QFrame{background:#FFFFFF;border:1px solid #D5DBE5;border-radius:8px;}"
|
||||
"QCheckBox{padding:2px 1px;color:#1F2A3D;}"
|
||||
"QCheckBox:disabled{color:#9AA6B6;}"));
|
||||
QStringLiteral("QFrame{background:{{canvas/bg-soft}};border:1px solid {{canvas/grid}};border-radius:8px;}"
|
||||
"QCheckBox{padding:2px 1px;color:{{canvas/text}};}"
|
||||
"QCheckBox:disabled{color:{{canvas/text-dim}};}"));
|
||||
auto* layerLayout = new QVBoxLayout(layerPanel);
|
||||
// 浮层内边距取间距令牌:左右 lg(12)、上下 ml(10),对称(原 13/10/15/11 是手调奇数)。
|
||||
layerLayout->setContentsMargins(geopro::app::space::kLg, geopro::app::space::kMl,
|
||||
geopro::app::space::kLg, geopro::app::space::kMl);
|
||||
layerLayout->setSpacing(geopro::app::space::kSm);
|
||||
auto* layerTitle = new QLabel(QStringLiteral("视图详情"));
|
||||
geopro::app::applyThemedStyleSheet(
|
||||
layerTitle, QStringLiteral("font-weight:%1;color:#2D6CB5;border:none;background:transparent;"
|
||||
geopro::app::applyTokenizedStyleSheet(
|
||||
layerTitle, QStringLiteral("font-weight:%1;color:{{canvas/text}};border:none;background:transparent;"
|
||||
"padding-bottom:3px;font-size:%2px;")
|
||||
.arg(geopro::app::type::kWeightSemibold)
|
||||
.arg(geopro::app::scaledPx(geopro::app::type::kTitle)));
|
||||
|
|
@ -397,6 +397,7 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
|||
auto* emptyState = new QFrame(centerWidget);
|
||||
emptyState->setObjectName(QStringLiteral("centralEmpty"));
|
||||
emptyState->setAttribute(Qt::WA_TransparentForMouseEvents);
|
||||
emptyState->setAttribute(Qt::WA_TranslucentBackground); // 透明浮于深色画布(不让控件填充不透明底)
|
||||
emptyState->setStyleSheet(QStringLiteral(
|
||||
"#centralEmpty { background: transparent; }"
|
||||
"#centralEmpty QLabel { background: transparent; }"));
|
||||
|
|
@ -435,16 +436,6 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
|||
auto* emptyCentering = new CenterOverlay(emptyState, vtkWidget);
|
||||
emptyCentering->reposition();
|
||||
|
||||
// 引导层淡入(350ms,仅透明度,OutCubic):首屏空态出现的克制过渡,不阻塞任务。
|
||||
auto* esFx = new QGraphicsOpacityEffect(emptyState);
|
||||
emptyState->setGraphicsEffect(esFx);
|
||||
auto* esAnim = new QPropertyAnimation(esFx, "opacity", emptyState);
|
||||
esAnim->setDuration(350);
|
||||
esAnim->setStartValue(0.0);
|
||||
esAnim->setEndValue(1.0);
|
||||
esAnim->setEasingCurve(QEasingCurve::OutCubic);
|
||||
esAnim->start(QAbstractAnimation::DeleteWhenStopped);
|
||||
|
||||
auto* vtkDock = new ads::CDockWidget(QStringLiteral("二维地图/三维视图"));
|
||||
vtkDock->setWidget(centerWidget);
|
||||
auto* centerDockArea = dockManager->addDockWidget(ads::CenterDockWidgetArea, vtkDock);
|
||||
|
|
|
|||
Loading…
Reference in New Issue