2026-09-17 15:30:30 +08:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
|
<ui version="4.0">
|
|
|
|
|
|
<class>PointCloudFilterWidget</class>
|
|
|
|
|
|
<widget class="QWidget" name="PointCloudFilterWidget">
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<property name="geometry">
|
|
|
|
|
|
<rect>
|
|
|
|
|
|
<x>0</x>
|
|
|
|
|
|
<y>0</y>
|
|
|
|
|
|
<width>550</width>
|
|
|
|
|
|
<height>307</height>
|
|
|
|
|
|
</rect>
|
|
|
|
|
|
</property>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
<property name="font">
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<font>
|
|
|
|
|
|
<pointsize>16</pointsize>
|
|
|
|
|
|
</font>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
</property>
|
|
|
|
|
|
<property name="styleSheet">
|
|
|
|
|
|
<string notr="true">* { font-size: 16pt; }
|
|
|
|
|
|
QLabel { color: rgb(221, 225, 233); }
|
2026-10-01 21:26:34 +08:00
|
|
|
|
QCheckBox#checkEnabled { color: rgb(221, 225, 233); spacing: 10px; }
|
|
|
|
|
|
QCheckBox#checkEnabled::indicator { width: 24px; height: 24px; border: 2px solid rgb(180, 190, 205); border-radius: 3px; background-color: rgb(47, 48, 52); }
|
|
|
|
|
|
QCheckBox#checkEnabled::indicator:unchecked { image: none; }
|
|
|
|
|
|
QCheckBox#checkEnabled::indicator:checked { background-color: rgb(40, 120, 180); border-color: rgb(130, 190, 240); image: url(:/common/resource/checkbox_check.png); }
|
|
|
|
|
|
QCheckBox#checkEnabled::indicator:hover, QCheckBox#checkEnabled::indicator:focus { border-color: rgb(230, 240, 255); }
|
|
|
|
|
|
QCheckBox#checkEnabled:disabled { color: rgb(130, 140, 155); }
|
|
|
|
|
|
QCheckBox#checkEnabled::indicator:disabled { background-color: rgb(60, 65, 75); border-color: rgb(110, 120, 135); }
|
2026-09-17 15:30:30 +08:00
|
|
|
|
QDoubleSpinBox { color: rgb(221, 225, 233); background-color: rgb(47, 48, 52); border: 1px solid rgb(70, 72, 78); padding: 4px; }
|
|
|
|
|
|
QComboBox { color: rgb(221, 225, 233); background-color: rgb(47, 48, 52); border: 1px solid rgb(70, 72, 78); padding: 6px; }
|
|
|
|
|
|
QComboBox QAbstractItemView { color: rgb(221, 225, 233); background-color: rgb(47, 48, 52); selection-background-color: rgb(70, 100, 150); }
|
|
|
|
|
|
QGroupBox { color: rgb(221, 225, 233); border: 1px solid rgb(100, 100, 100); border-radius: 4px; margin-top: 12px; padding-top: 8px; }
|
|
|
|
|
|
QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; }</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<property name="spacing">
|
|
|
|
|
|
<number>8</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="leftMargin">
|
|
|
|
|
|
<number>20</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="topMargin">
|
|
|
|
|
|
<number>10</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="rightMargin">
|
|
|
|
|
|
<number>20</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="bottomMargin">
|
|
|
|
|
|
<number>10</number>
|
|
|
|
|
|
</property>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
<item>
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<layout class="QHBoxLayout" name="cameraLayout" stretch="0,1">
|
|
|
|
|
|
<property name="spacing">
|
|
|
|
|
|
<number>12</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelCamera">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>选择相机 </string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QComboBox" name="comboCamera">
|
|
|
|
|
|
<property name="sizePolicy">
|
|
|
|
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
|
|
|
|
|
<horstretch>1</horstretch>
|
|
|
|
|
|
<verstretch>0</verstretch>
|
|
|
|
|
|
</sizepolicy>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimumSize">
|
|
|
|
|
|
<size>
|
|
|
|
|
|
<width>240</width>
|
|
|
|
|
|
<height>42</height>
|
|
|
|
|
|
</size>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
</layout>
|
|
|
|
|
|
</item>
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QCheckBox" name="checkEnabled">
|
|
|
|
|
|
<property name="minimumSize">
|
|
|
|
|
|
<size>
|
|
|
|
|
|
<width>0</width>
|
|
|
|
|
|
<height>36</height>
|
|
|
|
|
|
</size>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>启用 XYZ 范围过滤</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QGroupBox" name="groupRange">
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<property name="title">
|
|
|
|
|
|
<string>点云 XYZ 范围(mm)</string>
|
|
|
|
|
|
</property>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
<layout class="QFormLayout" name="rangeLayout">
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<property name="horizontalSpacing">
|
|
|
|
|
|
<number>16</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="verticalSpacing">
|
|
|
|
|
|
<number>12</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<item row="0" column="0">
|
|
|
|
|
|
<widget class="QLabel" name="labelXRange">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>X范围</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item row="0" column="1">
|
|
|
|
|
|
<widget class="QWidget" name="widgetXRange" native="true">
|
|
|
|
|
|
<layout class="QHBoxLayout" name="layoutXRange">
|
|
|
|
|
|
<property name="spacing">
|
|
|
|
|
|
<number>8</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="leftMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="topMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="rightMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="bottomMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelXMin">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>最小:</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QDoubleSpinBox" name="spinMinX">
|
|
|
|
|
|
<property name="buttonSymbols">
|
|
|
|
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="decimals">
|
|
|
|
|
|
<number>3</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimum">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="maximum">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="value">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelXMax">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>最大:</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QDoubleSpinBox" name="spinMaxX">
|
|
|
|
|
|
<property name="buttonSymbols">
|
|
|
|
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="decimals">
|
|
|
|
|
|
<number>3</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimum">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="maximum">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="value">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
</layout>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item row="1" column="0">
|
|
|
|
|
|
<widget class="QLabel" name="labelYRange">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>Y范围</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item row="1" column="1">
|
|
|
|
|
|
<widget class="QWidget" name="widgetYRange" native="true">
|
|
|
|
|
|
<layout class="QHBoxLayout" name="layoutYRange">
|
|
|
|
|
|
<property name="spacing">
|
|
|
|
|
|
<number>8</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="leftMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="topMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="rightMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="bottomMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelYMin">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>最小:</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QDoubleSpinBox" name="spinMinY">
|
|
|
|
|
|
<property name="buttonSymbols">
|
|
|
|
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="decimals">
|
|
|
|
|
|
<number>3</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimum">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="maximum">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="value">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelYMax">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>最大:</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QDoubleSpinBox" name="spinMaxY">
|
|
|
|
|
|
<property name="buttonSymbols">
|
|
|
|
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="decimals">
|
|
|
|
|
|
<number>3</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimum">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="maximum">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="value">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
</layout>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item row="2" column="0">
|
|
|
|
|
|
<widget class="QLabel" name="labelZRange">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>Z范围</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item row="2" column="1">
|
|
|
|
|
|
<widget class="QWidget" name="widgetZRange" native="true">
|
|
|
|
|
|
<layout class="QHBoxLayout" name="layoutZRange">
|
|
|
|
|
|
<property name="spacing">
|
|
|
|
|
|
<number>8</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="leftMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="topMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="rightMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="bottomMargin">
|
|
|
|
|
|
<number>0</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelZMin">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>最小:</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QDoubleSpinBox" name="spinMinZ">
|
|
|
|
|
|
<property name="buttonSymbols">
|
|
|
|
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="decimals">
|
|
|
|
|
|
<number>3</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimum">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="maximum">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="value">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QLabel" name="labelZMax">
|
|
|
|
|
|
<property name="text">
|
|
|
|
|
|
<string>最大:</string>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
<item>
|
|
|
|
|
|
<widget class="QDoubleSpinBox" name="spinMaxZ">
|
|
|
|
|
|
<property name="buttonSymbols">
|
|
|
|
|
|
<enum>QAbstractSpinBox::NoButtons</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="decimals">
|
|
|
|
|
|
<number>3</number>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="minimum">
|
|
|
|
|
|
<double>-5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="maximum">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="value">
|
|
|
|
|
|
<double>5000.000000000000000</double>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
|
|
|
|
|
</layout>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
</layout>
|
|
|
|
|
|
</widget>
|
|
|
|
|
|
</item>
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<item>
|
|
|
|
|
|
<spacer name="verticalSpacer">
|
|
|
|
|
|
<property name="orientation">
|
|
|
|
|
|
<enum>Qt::Vertical</enum>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
<property name="sizeHint" stdset="0">
|
|
|
|
|
|
<size>
|
|
|
|
|
|
<width>20</width>
|
|
|
|
|
|
<height>40</height>
|
|
|
|
|
|
</size>
|
|
|
|
|
|
</property>
|
|
|
|
|
|
</spacer>
|
|
|
|
|
|
</item>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
</layout>
|
|
|
|
|
|
</widget>
|
2026-10-01 21:26:34 +08:00
|
|
|
|
<resources>
|
|
|
|
|
|
<include location="common_resources.qrc"/>
|
|
|
|
|
|
</resources>
|
2026-09-17 15:30:30 +08:00
|
|
|
|
<connections/>
|
|
|
|
|
|
</ui>
|