feat/vtk-3d-view #7

Merged
gaozheng merged 301 commits from feat/vtk-3d-view into main 2026-06-27 18:43:52 +08:00
1 changed files with 19 additions and 4 deletions
Showing only changes of commit 73deb2b159 - Show all commits

View File

@ -400,12 +400,27 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
// 坐标轴下拉(标准/立体/不显示) + 刻度下拉(无/米/英尺/经纬度) + 纵向比例滑块 + 快捷视图 6 钮 + Zoom(In/Out/Fit)。 // 坐标轴下拉(标准/立体/不显示) + 刻度下拉(无/米/英尺/经纬度) + 纵向比例滑块 + 快捷视图 6 钮 + Zoom(In/Out/Fit)。
auto* axisBar = new QFrame(centerWidget); auto* axisBar = new QFrame(centerWidget);
axisBar->setFrameShape(QFrame::StyledPanel); axisBar->setFrameShape(QFrame::StyledPanel);
// 深色主题样式:控件须显式设深底(否则默认白底 + 浅字 → 看不清)。下拉弹窗(QAbstractItemView)
// 是独立顶层窗,须单独配色。与左上「视图详情」浮层同一套 canvas/* token。
geopro::app::applyTokenizedStyleSheet( geopro::app::applyTokenizedStyleSheet(
axisBar, axisBar,
QStringLiteral("QFrame{background:{{canvas/bg-soft}};border:1px solid {{canvas/grid}};}" QStringLiteral(
"QFrame{background:{{canvas/bg-soft}};border:1px solid {{canvas/grid}};border-radius:6px;}"
"QLabel{color:{{canvas/text}};border:none;background:transparent;}" "QLabel{color:{{canvas/text}};border:none;background:transparent;}"
"QComboBox{color:{{canvas/text}};}" "QComboBox{color:{{canvas/text}};background:{{canvas/bg}};border:1px solid {{canvas/grid}};"
"QPushButton{color:{{canvas/text}};padding:2px 6px;}")); "border-radius:4px;padding:2px 6px;}"
"QComboBox:hover{border-color:{{accent/primary}};}"
"QComboBox::drop-down{border:none;width:16px;}"
"QComboBox QAbstractItemView{color:{{canvas/text}};background:{{canvas/bg}};"
"border:1px solid {{canvas/grid}};selection-background-color:{{bg/selected}};"
"selection-color:{{canvas/text}};outline:none;}"
"QPushButton{color:{{canvas/text}};background:{{canvas/bg}};border:1px solid {{canvas/grid}};"
"border-radius:4px;padding:2px 8px;}"
"QPushButton:hover{background:{{bg/hover}};border-color:{{accent/primary}};}"
"QPushButton:pressed{background:{{bg/selected}};}"
"QSlider::groove:horizontal{height:4px;background:{{canvas/grid}};border-radius:2px;}"
"QSlider::handle:horizontal{width:12px;background:{{accent/primary}};"
"border-radius:6px;margin:-4px 0;}"));
auto* axisLayout = new QHBoxLayout(axisBar); auto* axisLayout = new QHBoxLayout(axisBar);
axisLayout->setContentsMargins(geopro::app::space::kMd, geopro::app::space::kSm, axisLayout->setContentsMargins(geopro::app::space::kMd, geopro::app::space::kSm,
geopro::app::space::kMd, geopro::app::space::kSm); geopro::app::space::kMd, geopro::app::space::kSm);