fix: 优化光电吊舱人机交互逻辑及页面

shiyi
wanghaoyu 3 months ago
parent 538dde64ea
commit afc4476eaa

@ -0,0 +1,273 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 14.0.1, 2024-12-03T19:00:43. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{ed0dad32-f81f-4133-8ec2-4a3277169847}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="qlonglong">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="qlonglong" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="int" key="EditorConfiguration.PreferAfterWhitespaceComments">0</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
<value type="bool" key="EditorConfiguration.tintMarginArea">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap">
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
<value type="bool" key="AutoTest.Framework.Boost">true</value>
<value type="bool" key="AutoTest.Framework.CTest">false</value>
<value type="bool" key="AutoTest.Framework.Catch">true</value>
<value type="bool" key="AutoTest.Framework.GTest">true</value>
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap>
<value type="bool" key="AutoTest.ApplyFilter">false</value>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools">
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
<value type="int" key="ClangTools.ParallelJobs">10</value>
<value type="bool" key="ClangTools.PreferConfigFile">true</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
</valuemap>
<valuemap type="QVariantMap" key="CppEditor.QuickFix">
<value type="bool" key="UseGlobalSettings">true</value>
</valuemap>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 6.6.3 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 6.6.3 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt6.663.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\WorkData\Code\PlayLoad\build\build-PayloadAPP-Desktop_Qt_6_6_3_MSVC2019_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/WorkData/Code/PlayLoad/build/build-PayloadAPP-Desktop_Qt_6_6_3_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\WorkData\Code\PlayLoad\build\release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/WorkData/Code/PlayLoad/build/release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">D:\WorkData\Code\build-PayloadAPP-Desktop_Qt_6_6_3_MSVC2019_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">D:/WorkData/Code/build-PayloadAPP-Desktop_Qt_6_6_3_MSVC2019_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">构建</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">清除</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">部署</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="int" key="Analyzer.Valgrind.Callgrind.CostFormat">0</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:D:/WorkData/Code/PlayLoad/PayloadAPP.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">D:/WorkData/Code/PlayLoad/PayloadAPP.pro</value>
<value type="bool" key="ProjectExplorer.RunConfiguration.Customized">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">D:/WorkData/Code/PlayLoad/build/build-PayloadAPP-Desktop_Qt_6_6_3_MSVC2019_64bit-Debug</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="qlonglong">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

@ -18,3 +18,6 @@ FORMS += \
$$PWD/gddcSet.ui \
$$PWD/gddcStateInfo.ui \
RESOURCES += \
$$PWD/res.qrc

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

@ -1,5 +1,6 @@
#include "gddcCmdDlg.h"
#include "ui_gddcCmdDlg.h"
#include <algorithm>
GDDCCmdDlg::GDDCCmdDlg(QWidget *parent)
: QWidget(parent), ui(new Ui::GDDCCmdDlg) {
@ -107,6 +108,10 @@ void GDDCCmdDlg::initParam() {
ui->lineEdit_6_1->setText("960");
ui->lineEdit_6_2->setText("540");
detectionAreaSetting = false;
ui->spinBox->setWrapping(true);
ui->spinBox->setValue(5);
setPodIco();
}
// 设置tabwidget的几何位置
void GDDCCmdDlg::setTabWidgetGeometry(int ax, int ay, int aw, int ah) {
@ -337,27 +342,31 @@ void GDDCCmdDlg::on_pushButton_3_3_released() { clearTJDCCmdBuffer(); }
void GDDCCmdDlg::on_pushButton_3_4_pressed() {
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x01;
TJDCCmdBuffer[2] = (std::byte)ui->spinBox->value();
}
void GDDCCmdDlg::on_pushButton_3_4_released() {
clearTJDCCmdBuffer();
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x00;
sendCurDate(TJDCCmdBuffer, 1);
}
// 变倍-
void GDDCCmdDlg::on_pushButton_3_5_pressed() {
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x02;
TJDCCmdBuffer[2] = (std::byte)ui->spinBox->value();
}
void GDDCCmdDlg::on_pushButton_3_5_released() {
clearTJDCCmdBuffer();
TJDCCmdBuffer[0] = (std::byte)0x45;
TJDCCmdBuffer[1] = (std::byte)0x00;
sendCurDate(TJDCCmdBuffer, 1);
}
// 可见光镜头初始化
void GDDCCmdDlg::on_pushButton_3_6_pressed() {
TJDCCmdBuffer[0] = (std::byte)0x41;
TJDCCmdBuffer[0] = (std::byte)0x40;
TJDCCmdBuffer[1] = (std::byte)0x03;
}
void GDDCCmdDlg::on_pushButton_3_6_released() { clearTJDCCmdBuffer(); }
@ -380,12 +389,16 @@ void GDDCCmdDlg::on_pushButton_3_8_released() { clearTJDCCmdBuffer(); }
// 低照度模式
void GDDCCmdDlg::on_pushButton_3_9_pressed() {
if (param_pushButton_3_9) {
TJDCCmdBuffer[0] = (std::byte)0x4A;
if (param_pushButton_3_9) {//关闭
TJDCCmdBuffer[0] = (std::byte)0x4B;
TJDCCmdBuffer[1] = (std::byte)0x00;
} else {
TJDCCmdBuffer[0] = (std::byte)0x4A;
param_pushButton_3_9 = false;
ui->pushButton_3_9->setText("低照度模式");
} else { //开启
TJDCCmdBuffer[0] = (std::byte)0x4B;
TJDCCmdBuffer[1] = (std::byte)0x01;
param_pushButton_3_9 = true;
ui->pushButton_3_9->setText("低照度模式关");
}
}
void GDDCCmdDlg::on_pushButton_3_9_released() { clearTJDCCmdBuffer(); }
@ -646,7 +659,7 @@ void GDDCCmdDlg::on_pushButton_4_17_pressed() {
TJDCCmdBuffer[1] = (std::byte)0x00;
TJDCCmdBuffer[2] = (std::byte)0x00;
} else {
TJDCCmdBuffer[0] = (std::byte)0x58;
TJDCCmdBuffer[0] = (std::byte)0x53;
TJDCCmdBuffer[1] = (std::byte)0x01;
TJDCCmdBuffer[2] = (std::byte)(sel - 1);
}
@ -870,13 +883,13 @@ void GDDCCmdDlg::on_pushButton_5_15_released() { clearTJDCCmdBuffer(); }
// 框架
void GDDCCmdDlg::on_radioButton_5_1_clicked() {
paramIsFrame = true;
ui->pushButton_5_5->setText("归中");
// ui->pushButton_5_5->setText("归中");
}
// 陀螺
void GDDCCmdDlg::on_radioButton_5_2_clicked() {
paramIsFrame = false;
ui->pushButton_5_5->setText("自动校准");
// ui->pushButton_5_5->setText("自动校准");
}
// AI开
@ -956,3 +969,59 @@ void GDDCCmdDlg::on_pushButton_6_8_clicked() {
ui->pushButton_6_8->setDown(false);
}
}
void GDDCCmdDlg::wheelSwipe(int value)
{
if(value > 0)//鼠标前滚
{
on_pushButton_3_4_pressed();
}
else if(value < 0)
{
on_pushButton_3_5_pressed();
}
else if(value == 0)
{
on_pushButton_3_4_released();
}
//qDebug() << value;
}
void GDDCCmdDlg::setMoveParm(QPointF size)
{
int x = std::clamp(static_cast<int>(size.x()/10), -60, 60);
int y = std::clamp(static_cast<int>(- size.y()/10), -60, 60);
// qDebug() << "缩减之后的屏幕滑动参数==>" << "x:" << x << "y:" << y;
TJDCCmdBuffer[5] = (std::byte)0x70;
TJDCCmdBuffer[6] = (std::byte)(x & 0xFF);
TJDCCmdBuffer[7] = (std::byte)((x >> 8) & 0xFF);
TJDCCmdBuffer[8] = (std::byte)(y & 0xFF);
TJDCCmdBuffer[9] = (std::byte)((y >> 8) & 0xFF);
//qDebug() << (int)TJDCCmdBuffer[6] << "---" << (int)TJDCCmdBuffer[7];
}
/*************************************************
* @func
* @brief
**************************************************/
void GDDCCmdDlg::setPodIco() {
ui->pushButton_5_1->setIcon(QIcon(":/img/Pod/podUp.png"));
ui->pushButton_5_1->setIconSize(QSize(53, 53));
ui->pushButton_5_1->setStyleSheet("QPushButton { border: none; }");
ui->pushButton_5_2->setIcon(QIcon(":/img/Pod/podLeft.png"));
ui->pushButton_5_2->setIconSize(QSize(53, 53));
ui->pushButton_5_2->setStyleSheet("QPushButton { border: none; }");
ui->pushButton_5_3->setIcon(QIcon(":/img/Pod/podDown.png"));
ui->pushButton_5_3->setIconSize(QSize(53, 53));
ui->pushButton_5_3->setStyleSheet("QPushButton { border: none; }");
ui->pushButton_5_4->setIcon(QIcon(":/img/Pod/podRight.png"));
ui->pushButton_5_4->setIconSize(QSize(53, 53));
ui->pushButton_5_4->setStyleSheet("QPushButton { border: none; }");
ui->pushButton_5_5->setIcon(QIcon(":/img/Pod/Center.png"));
ui->pushButton_5_5->setIconSize(QSize(53, 53));
ui->pushButton_5_5->setStyleSheet("QPushButton { border: none; }");
}

@ -1,6 +1,7 @@
#ifndef GDDCCMDDLG_H
#define GDDCCMDDLG_H
#include "imageswitch.h"
#include <QByteArray>
#include <QDateTime>
#include <QDir>
@ -17,7 +18,6 @@
#include <QWidget>
#include <vector>
#include <windows.h>
#include "imageswitch.h"
#define cmdLength 44
namespace Ui {
@ -230,7 +230,12 @@ private slots:
void on_pushButton_6_7_pressed();
void on_pushButton_6_7_released();
void on_pushButton_6_8_clicked();
public slots:
//滚轮
void wheelSwipe(int value);
void setMoveParm(QPointF size);
private:
void setPodIco();
};
#endif // GDDCCMDDLG_H

File diff suppressed because it is too large Load Diff

@ -584,9 +584,9 @@ void GDDCStateInfo::UDPMessageReceive(QByteArray &da, int size) {
}
bool GDDCStateInfo::checkdata(QByteArray buffer, int length, int type) {
if (length != 64) {
return false;
}
// if (length != 64) {
// return false;
// }
if ((buffer.at(0) != '\xFC') || (buffer.at(1) != '\x2C') ||
buffer.at(63) != '\xF0') {
return false;

File diff suppressed because it is too large Load Diff

@ -17,14 +17,17 @@
#include <string>
#include <vector>
#include "gddcCmdDlg.h" //吊舱控制对话框
#include "gddcCmdDlg.h" //吊舱控制对话框
#include "global.h"
// #include "ui_gddcCmdDlg.h" //吊舱控制对话框ui
#include "gddcStateInfo.h" //吊舱状态信息显示对话框
#include "gddcStateInfo.h" //吊舱状态信息显示对话框
// #include "ui_gddcStateInfo.h" //吊舱状态信息显示对话框
// #include "ui_gddcSet.h"
#include <QMessageBox>
#include <QThread>
#include <QWheelEvent>
#include <QTimer>
#include <QLabel>
#include "QProcess"
@ -34,74 +37,91 @@ class GDDCdlg;
}
class GDDCdlg : public QWidget {
Q_OBJECT
Q_OBJECT
public:
explicit GDDCdlg(QWidget *parent = nullptr);
~GDDCdlg();
explicit GDDCdlg(QWidget *parent = nullptr);
~GDDCdlg();
private:
Ui::GDDCdlg *ui;
QTimer *GDDCControlTimer;
Ui::GDDCdlg *ui;
QTimer *GDDCControlTimer;
protected:
void resizeEvent(QResizeEvent *event);
void resizeEvent(QResizeEvent *event);
public:
void initWindow(); // 初始化窗口
void initParam(); // 初始化参数
void initSignalSlot(); // 初始化信号与槽
void resizeUI(); // 重新设置布局
void setGlobalSetMap(std::unordered_map<QString, settingStruct> &gSetMap);
void initWindow(); // 初始化窗口
void initParam(); // 初始化参数
void initSignalSlot(); // 初始化信号与槽
void resizeUI(); // 重新设置布局
void setGlobalSetMap(std::unordered_map<QString, settingStruct> &gSetMap);
GDDCSet *m_DlgGDDCSet; // 光电吊舱设置对话框
GDDCCmdDlg *m_GDDCCmdDlg; // 光电吊舱控制对话框
GDDCStateInfo *m_GDDCStateDlg; // 光电吊舱状态数据对话框
GDDCSet *m_DlgGDDCSet; // 光电吊舱设置对话框
GDDCCmdDlg *m_GDDCCmdDlg; // 光电吊舱控制对话框
GDDCStateInfo *m_GDDCStateDlg; // 光电吊舱状态数据对话框
public:
// socket对象
QUdpSocket *udpSocket;
// QString RemoteIP; //目标IP
// QHostAddress RemoteAddr; //目标地址
// quint16 RemotePort; //目标port
QString localIP; // 本地IP
QHostAddress localAddr; // 本地地址
quint16 localPort; // 本地port
QProcess *process; // 执行CMD
QThread workerThread; // 线程
// bool eventFilter(QObject *,QEvent *); //事件过滤器
void mousePressEvent(QMouseEvent *event); // 事件过滤器
void mouseMoveEvent(QMouseEvent *event); // 事件过滤器
// socket对象
QUdpSocket *udpSocket;
// QString RemoteIP; //目标IP
// QHostAddress RemoteAddr; //目标地址
// quint16 RemotePort; //目标port
QString localIP; // 本地IP
QHostAddress localAddr; // 本地地址
quint16 localPort; // 本地port
QProcess *process; // 执行CMD
QThread workerThread; // 线程
// bool eventFilter(QObject *,QEvent *); //事件过滤器
void mousePressEvent(QMouseEvent *event) override; // 事件过滤器
void mouseMoveEvent(QMouseEvent *event) override; // 事件过滤器
void mouseReleaseEvent(QMouseEvent *event) override;
void startConnectURL1();
void stopConnectURL1();
void startConnectURL2();
void stopConnectURL2();
void startConnectSerialCtrl();
void stopConnectSerialCtrl();
void startConnectUDPCtrl();
void stopConnectUDPCtrl();
void startConnectTCPCtrl();
void stopConnectTCPCtrl();
void startPushURL();
void stopPushURL();
void startConnectURL1();
void stopConnectURL1();
void startConnectURL2();
void stopConnectURL2();
void startConnectSerialCtrl();
void stopConnectSerialCtrl();
void startConnectUDPCtrl();
void stopConnectUDPCtrl();
void startConnectTCPCtrl();
void stopConnectTCPCtrl();
void startPushURL();
void stopPushURL();
public:
bool pointSelectionTracking; // 选点跟踪
bool Is_openVideo; // 视频是否已打开,默认未打开
std::vector<bool> connectFlag; // 0视频流11视频流22串口通信3网口通信
bool isCmdPageShow; // 控制页是否显示
bool isStatePageShow; // 状态页是否显示
bool detectionAreaSetting; // 检测区域设置
bool pointSelectionTracking; // 选点跟踪
bool Is_openVideo; // 视频是否已打开,默认未打开
std::vector<bool> connectFlag; // 0视频流11视频流22串口通信3网口通信
bool isCmdPageShow; // 控制页是否显示
bool isStatePageShow; // 状态页是否显示
bool detectionAreaSetting; // 检测区域设置
public slots:
void GDDCControlTimeOut();
void startConnect(int); // 开始连接
void stopConnect(int); // 停止连接
void UDPMessageReceive(); // udp数据接收
void pushButtonSet_clicked();
void pushButShowCmdPage_clicked();
void pushButShowStatePage_clicked();
void GDDCControlTimeOut();
void startConnect(int); // 开始连接
void stopConnect(int); // 停止连接
void UDPMessageReceive(); // udp数据接收
void pushButtonSet_clicked();
void pushButShowCmdPage_clicked();
void pushButShowStatePage_clicked();
void showErrorMessage(QString message, int type);
void showErrorMessage(QString message, int type);
protected:
void wheelEvent(QWheelEvent* event) override;
private:
int _delta; //滚轮滚动量
QTimer *_wheelStopTime;
QPointF _dragStartPositon; //记录滑动操作当前点击的局部坐标
bool _dragFlag; //记录滑动初始标志
bool _moveFlag; //记录正在滑动中的标志
QLabel* firstLocation;
QLabel* lastLocation;
// QPointF _currentLocation; //记录鼠标当前位置
QLabel* wheelPlus; //鼠标+图标
QLabel* wheelSub; //鼠标-图标
signals:
void wheelSendData(int value);
};
#endif // GDDCDLG_H
#endif // GDDCDLG_H

@ -0,0 +1,13 @@
<RCC>
<qresource prefix="/img">
<file>Pod/podDown.png</file>
<file>Pod/podLeft.png</file>
<file>Pod/podRight.png</file>
<file>Pod/podUp.png</file>
<file>Pod/Center.png</file>
<file>Pod/c.png</file>
<file>Pod/circle.png</file>
<file>Pod/plus.png</file>
<file>Pod/sub.png</file>
</qresource>
</RCC>

@ -85,7 +85,7 @@ bool Cffmpeg_decode::open_input_file() {
// av_dict_set(&avdic, "listen_timeout", "200000", 0);
// 在尝试连接到一个流或网络资源时,等待的最长时间。如果在这个时间内无法建立连接,就会返回超时错误
av_dict_set(&avdic, "stimeout", "5000000", 0); // 设置超时5秒
// av_dict_set(&avdic, "max_delay", "300000", 0); // 设置最大时延300ms
av_dict_set(&avdic, "max_delay", "300000", 0); // 设置最大时延300ms
av_dict_set(&avdic, "tune", "zerolatency", 0); // 实时编码
av_dict_set(&avdic, "preset", "ultrafast", 0); // faster
// av_dict_set(&avdic, "threads", "auto", 0); // 自动开启线程数

@ -572,3 +572,8 @@ void VideoWidget::receiveErrorMessage(QString message, int type) {
// qDebug() << "receive message:" << message;
emit sendErrorMessageSignal(message, type);
}
QSizeF VideoWidget::getCurImgSize()
{
return m_zoomSize;
}

@ -113,6 +113,8 @@ private:
signals:
void startPullSignal();
void sendErrorMessageSignal(QString message, int type);
public:
QSizeF getCurImgSize();
};
#endif // VIDEOWIDGET_H

@ -2,12 +2,13 @@
#include <QFile>
#include <QLocale>
#include <QTranslator>
#include <QQuickWindow>
#include "mainwindow.h"
int main(int argc, char *argv[]) {
// QApplication::setAttribute(Qt::AA_UseOpenGLES);
// qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--enable-gpu-rasterization");
QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);
QApplication a(argc, argv);
QTranslator translator;
const QStringList uiLanguages = QLocale::system().uiLanguages();

Loading…
Cancel
Save