add,山地所贡嘎山4:

添加触发界面
This commit is contained in:
tangchao0503
2026-07-10 13:20:07 +08:00
parent e326dcb20c
commit 39578dc9fe
8 changed files with 377 additions and 1 deletions

View File

@ -498,7 +498,8 @@ void OneMotionCaptureCoordinator::stopStepMotion()
m_cameraCtrl->stop_record();
}
emit stopMotorSignal(0);
//emit stopMotorSignal(0);
move2LocBeforeStart();
}
void OneMotionCaptureCoordinator::handleCaptureCompleteWhenFrameNumberMeet()
@ -528,6 +529,10 @@ void OneMotionCaptureCoordinator::getLocBeforeStart()
loop.exec();
disconnect(conn);
std::vector<double> pos;
pos.push_back(0);
m_locBeforeStart = pos;
}
void OneMotionCaptureCoordinator::move2LocBeforeStart()

View File

@ -0,0 +1,25 @@
#include "GonggaShanRecordCtl.h"
GonggaShanRecordCtl::GonggaShanRecordCtl(QWidget* parent)
: QDialog(parent)
{
ui.setupUi(this);
connect(ui.btnListen, &QPushButton::clicked, this, &GonggaShanRecordCtl::startListen);
connect(ui.btnDisListen, &QPushButton::clicked, this, &GonggaShanRecordCtl::stopListen);
}
GonggaShanRecordCtl::~GonggaShanRecordCtl()
{
}
void GonggaShanRecordCtl::startListen()
{
}
void GonggaShanRecordCtl::stopListen()
{
}

View File

@ -0,0 +1,34 @@
#pragma once
#include <QDialog>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QNetworkAccessManager>
#include <vector>
#include "ui_gonggashanCtl.h"
class GonggaShanRecordCtl : public QDialog
{
Q_OBJECT
public:
GonggaShanRecordCtl(QWidget* parent = nullptr);
~GonggaShanRecordCtl();
public Q_SLOTS:
Q_SIGNALS:
// Emitted when user changes any of the R/G/B wavelength values
void startRcordHsiSignal();
void stopRcordHsiSignal();
void startRcordFodisSignal();
private Q_SLOTS:
void startListen();
void stopListen();
private:
Ui::gongga_control ui;
};

View File

@ -1063,6 +1063,12 @@ void HPPA::initControlTabwidget()
m_fodisWindow->setWindowFlags(Qt::Widget);
ui.controlTabWidget->addTab(m_fodisWindow, QString::fromLocal8Bit("FODIS"));
//
m_gonggaShanRecordCtl = new GonggaShanRecordCtl(this);
m_gonggaShanRecordCtl->setWindowFlags(Qt::Widget);
ui.controlTabWidget->addTab(m_gonggaShanRecordCtl, QString::fromLocal8Bit("触发采集"));
// Connect ImageControl band change to re-render (m_ic created in initControlTabwidget)
//connect(m_ic, SIGNAL(bandSelectionChanged(double, double, double)),
// this, SLOT(onBandSelectionChanged(double, double, double)));
@ -1569,6 +1575,7 @@ void HPPA::createGonggaRotatingPlatformScenario()
m_tabManager->showTab(m_ic);
m_tabManager->showTab(m_fodisWindow);
m_tabManager->showTab(m_omc);
m_tabManager->showTab(m_gonggaShanRecordCtl);
m_view3DModelManager->switchScenario(View3DModelManager::ScenarioType::OneMotor);
}

View File

@ -89,6 +89,8 @@
#include "PowerControl3D.h"
#include "FodisWindow.h"
#include "GonggaShanRecordCtl.h"
#include <algorithm>
#define PI 3.1415926
@ -321,6 +323,7 @@ private:
OneMotorControl* m_omc;
TwoMotorControl* m_tmc;
FodisWindow* m_fodisWindow;
GonggaShanRecordCtl* m_gonggaShanRecordCtl;
QPointer<TimedDataCollection> m_tdc;
View3DModelManager* m_view3DModelManager;

View File

@ -119,6 +119,7 @@
<ClCompile Include="DepthCameraWindow.cpp" />
<ClCompile Include="FileNameLineEdit.cpp" />
<ClCompile Include="FodisWindow.cpp" />
<ClCompile Include="GonggaShanRecordCtl.cpp" />
<ClCompile Include="hppaConfigFile.cpp" />
<ClCompile Include="HyperImagerControl.cpp" />
<ClCompile Include="imageControl.cpp" />
@ -181,6 +182,7 @@
<QtUic Include="DepthCamera.ui" />
<QtUic Include="FocusDialog.ui" />
<QtUic Include="fodis.ui" />
<QtUic Include="gonggashanCtl.ui" />
<QtUic Include="HPPA.ui" />
<QtMoc Include="HPPA.h" />
<ClCompile Include="fileOperation.cpp" />
@ -237,6 +239,7 @@
<QtMoc Include="CommunicationInterfaceBase.h" />
<QtMoc Include="FodisWindow.h" />
<ClInclude Include="FiberSpectrometerOperationBase.h" />
<QtMoc Include="GonggaShanRecordCtl.h" />
<ClInclude Include="imager_base.h" />
<ClInclude Include="irisximeaimager.h" />
<QtMoc Include="OneMotorControl.h" />

View File

@ -259,6 +259,12 @@
<ClCompile Include="JinspFiberImager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="JinspFiberImagerConfig.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GonggaShanRecordCtl.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="fileOperation.h">
@ -426,6 +432,9 @@
<QtMoc Include="JinspFiberImager.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="GonggaShanRecordCtl.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<ClInclude Include="imageProcessor.h">
@ -547,6 +556,9 @@
<QtUic Include="fodis.ui">
<Filter>Form Files</Filter>
</QtUic>
<QtUic Include="gonggashanCtl.ui">
<Filter>Form Files</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<None Include="cpp.hint" />

287
HPPA/gonggashanCtl.ui Normal file
View File

@ -0,0 +1,287 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>gongga_control</class>
<widget class="QWidget" name="gongga_control">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>535</width>
<height>229</height>
</rect>
</property>
<property name="windowTitle">
<string>贡嘎山触发采集</string>
</property>
<property name="styleSheet">
<string notr="true">QGroupBox
{
border: 12px solid transparent;
/*border-top: 12px solid transparent;
border-right: 0px solid transparent;
border-bottom: 0px solid transparent;
border-left: 0px solid transparent;*/
color: #ACCDFF;
}
QPushButton
{
/*width: 172px;
height: 56px;*/
font: 10pt &quot;新宋体&quot;;
background-color: qlineargradient(
spread:pad,
x1:0.5, y1:0, x2:0.5, y2:1,
stop:0 #283D86,
stop:1 #0F1A40
);
color: white;
border: none;
padding: 8px 8px;
border-radius: 4px;
}
QPushButton:hover
{
background-color: qlineargradient(
spread:pad,
x1:0, y1:0, x2:1, y2:0,
stop:0 #3A4875,
stop:1 #5F6B91
);
}
/* 按下时的效果 */
QPushButton:pressed
{
background-color: qlineargradient(
spread:pad,
x1:0, y1:0, x2:1, y2:0,
stop:0 #1A254F,
stop:1 #3A466B
);
/* 可选:添加下压效果 */
padding-top: 9px;
padding-bottom: 7px;
}
QLabel {
color: rgb(255, 255, 255);
}
QSlider::groove:horizontal {
height: 10px;
background: #1e2a44;
border-radius: 3px;
}
/* 已滑过:渐变蓝 */
QSlider::sub-page:horizontal {
background: qlineargradient(
x1:0, y1:0, x2:1, y2:0,
stop:0 #1f4fff,
stop:0.5 #2f6bff,
stop:1 #5fa0ff
);
border-radius: 3px;
}
/* 未滑过 */
QSlider::add-page:horizontal {
height: 10px;
background: #2a3550;
border-radius: 3px;
}
/* ===== 滑块按钮 ===== */
QSlider::handle:horizontal {
width: 15px;
height: 10px;
/* 蓝色实心 */
background: #2f6bff;
/* 白色外圈 */
border: 2px solid #ffffff;
border-radius: 5px;
/* 垂直居中 */
margin: -5px 0;
}
/* 悬停 */
QSlider::handle:horizontal:hover {
background: #4d8dff;
}
/* 按下 */
QSlider::handle:horizontal:pressed {
background: #1f4fff;
}</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupAdjustments">
<property name="styleSheet">
<string notr="true">QLabel
{
color: #ACCDFF;
font-size: 14px;
font: 9pt &quot;Adobe Devanagari&quot;;
}</string>
</property>
<property name="title">
<string>通讯参数</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="horizontalSpacing">
<number>16</number>
</property>
<item row="1" column="4">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="4">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QLineEdit" name="lineEdit_IP">
<property name="text">
<string>192.168.1.2</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="labelIP">
<property name="text">
<string>ip</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="labelPort">
<property name="text">
<string>端口</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="spinbox_Port">
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>666</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupPresets">
<property name="title">
<string>采集</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QPushButton" name="btnListen">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>43</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>43</height>
</size>
</property>
<property name="text">
<string>开始监听</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="btnDisListen">
<property name="minimumSize">
<size>
<width>0</width>
<height>43</height>
</size>
</property>
<property name="text">
<string>停止监听</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>