Kaynağa Gözat

1.同步242军工QT程序

liyuezong 1 yıl önce
ebeveyn
işleme
10863f1e94

BIN
Qt/Qt_Test_242/Qt_Test


+ 1 - 1
Qt/Qt_Test_242/Qt_Test.pro.user

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.5.2, 2024-11-09T13:31:03. -->
+<!-- Written by QtCreator 4.5.2, 2024-12-09T09:11:55. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>

+ 619 - 0
Qt/Qt_Test_242/Qt_Test.pro.user.121e105.22

@@ -0,0 +1,619 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.12.2, 2024-06-18T15:26:25. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{121e1058-5f3e-4863-93b5-ed9ce6b2f524}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">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="int" 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="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="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="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap">
+   <valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
+   <value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
+   <value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
+   <valuemap type="QVariantMap" key="ClangTools">
+    <value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
+    <value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
+    <value type="int" key="ClangTools.ParallelJobs">8</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>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">TINA_QT5.12.9</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">TINA_QT5.12.9</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{03cd55e0-a7b6-46da-a668-17354f3bdbdf}</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="bool">true</value>
+    <value type="int" key="EnableQmlDebugging">0</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/liyi/Desktop/qt/Qt_Test/Output</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/liyi/Desktop/qt/Qt_Test/Output</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="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</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.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>
+    <value type="int" key="QtQuickCompiler">2</value>
+    <value type="int" key="SeparateDebugInfo">2</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="bool">true</value>
+    <value type="int" key="EnableQmlDebugging">2</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/liyi/Desktop/qt/build-Qt_Test-TINA_QT5_12_9-Release</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/liyi/Desktop/qt/build-Qt_Test-TINA_QT5_12_9-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="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</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.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>
+    <value type="int" key="SeparateDebugInfo">2</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="bool">true</value>
+    <value type="int" key="EnableQmlDebugging">0</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/liyi/Desktop/qt/build-Qt_Test-TINA_QT5_12_9-Profile</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/liyi/Desktop/qt/build-Qt_Test-TINA_QT5_12_9-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="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</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.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="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <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">RemoteLinux.CheckForFreeDiskSpaceStep</value>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
+      <value type="QString" key="RemoteLinux.CheckForFreeDiskSpaceStep.PathToCheck">/</value>
+      <value type="qlonglong" key="RemoteLinux.CheckForFreeDiskSpaceStep.RequiredSpace">5242880</value>
+      <valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
+      <valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
+     </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">RemoteLinux.KillAppStep</value>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
+      <valuelist type="QVariantList" key="RemoteLinux.LastDeployedLocalTimes"/>
+      <valuelist type="QVariantList" key="RemoteLinux.LastDeployedRemoteTimes"/>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</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">DeployToGenericLinux</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
+    <valuelist type="QVariantList" key="Analyzer.Perf.Events">
+     <value type="QString">cpu-cycles</value>
+    </valuelist>
+    <valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
+    <value type="int" key="Analyzer.Perf.Frequency">250</value>
+    <valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
+     <value type="QString">-e</value>
+     <value type="QString">cpu-cycles</value>
+     <value type="QString">--call-graph</value>
+     <value type="QString">dwarf,4096</value>
+     <value type="QString">-F</value>
+     <value type="QString">250</value>
+    </valuelist>
+    <value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
+    <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
+    <value type="int" key="Analyzer.Perf.StackSize">4096</value>
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">1</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt_Test</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinuxRunConfiguration:/home/liyi/Desktop/qt/Qt_Test/Qt_Test.pro</value>
+    <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/liyi/Desktop/qt/Qt_Test/Qt_Test.pro</value>
+    <value type="int" key="RemoteLinux.EnvironmentAspect.Version">1</value>
+    <value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
+    <value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
+    <value type="QString" key="RunConfiguration.Arguments"></value>
+    <value type="bool" key="RunConfiguration.Arguments.multi">false</value>
+    <value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseX11Forwarding">false</value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory"></value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default"></value>
+    <value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.1</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.12.9 GCC 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.12.9 GCC 64bit</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5129.gcc_64_kit</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="bool">true</value>
+    <value type="int" key="EnableQmlDebugging">0</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_64bit-Debug</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_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="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</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.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>
+    <value type="int" key="QtQuickCompiler">2</value>
+    <value type="int" key="SeparateDebugInfo">2</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="bool">true</value>
+    <value type="int" key="EnableQmlDebugging">2</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_64bit-Release</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_64bit-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="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</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.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>
+    <value type="int" key="SeparateDebugInfo">2</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="bool">true</value>
+    <value type="int" key="EnableQmlDebugging">0</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_64bit-Profile</value>
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_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="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</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>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</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.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="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</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="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
+    <valuelist type="QVariantList" key="Analyzer.Perf.Events">
+     <value type="QString">cpu-cycles</value>
+    </valuelist>
+    <valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
+    <value type="int" key="Analyzer.Perf.Frequency">250</value>
+    <valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
+     <value type="QString">-e</value>
+     <value type="QString">cpu-cycles</value>
+     <value type="QString">--call-graph</value>
+     <value type="QString">dwarf,4096</value>
+     <value type="QString">-F</value>
+     <value type="QString">250</value>
+    </valuelist>
+    <value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
+    <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
+    <value type="int" key="Analyzer.Perf.StackSize">4096</value>
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/liyi/Desktop/qt/Qt_Test/Qt_Test.pro</value>
+    <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/liyi/Desktop/qt/Qt_Test/Qt_Test.pro</value>
+    <value type="QString" key="RunConfiguration.Arguments"></value>
+    <value type="bool" key="RunConfiguration.Arguments.multi">false</value>
+    <value type="QString" key="RunConfiguration.OverrideDebuggerStartup"></value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory"></value>
+    <value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/liyi/Desktop/qt/build-Qt_Test-Desktop_Qt_5_12_9_GCC_64bit-Debug</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">2</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>

+ 362 - 0
Qt/Qt_Test_242/Qt_Test.pro.user.3bdf3ea.4.8-pre1

@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE QtCreatorProject>
+<!-- Written by QtCreator 4.5.2, 2024-05-23T20:17:01. -->
+<qtcreator>
+ <data>
+  <variable>EnvironmentId</variable>
+  <value type="QByteArray">{3bdf3ea4-d0d2-4897-8224-daaa02f7bea3}</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">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="int" 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="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="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="bool" key="EditorConfiguration.inEntireDocument">false</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.PluginSettings</variable>
+  <valuemap type="QVariantMap"/>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">T113</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">T113</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{53055201-e8b9-4b93-a88f-c8dd2f1ab176}</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
+   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/tronlong/build-Qt_Test-T113-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.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</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.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/tronlong/Desktop/qt/Qt_Test</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.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</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.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
+    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/tronlong/build-Qt_Test-T113-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.DefaultDisplayName">qmake</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
+      <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
+      <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</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.DefaultDisplayName">Make</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
+      <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
+       <value type="QString">-w</value>
+       <value type="QString">-r</value>
+      </valuelist>
+      <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
+      <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</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.UserEnvironmentChanges"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
+    <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
+    <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.DefaultDisplayName">Check for free disk space</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinux.CheckForFreeDiskSpaceStep</value>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedTimes"/>
+      <value type="QString" key="RemoteLinux.CheckForFreeDiskSpaceStep.PathToCheck">/</value>
+      <value type="qulonglong" key="RemoteLinux.CheckForFreeDiskSpaceStep.RequiredSpace">5242880</value>
+     </valuemap>
+     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Upload files via SFTP</value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinux.DirectUploadStep</value>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedFiles"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedHosts"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedRemotePaths"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedSysroots"/>
+      <valuelist type="QVariantList" key="ProjectExplorer.RunConfiguration.LastDeployedTimes"/>
+      <value type="bool" key="RemoteLinux.GenericDirectUploadStep.IgnoreMissingFiles">false</value>
+      <value type="bool" key="RemoteLinux.GenericDirectUploadStep.Incremental">true</value>
+     </valuemap>
+     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
+     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</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>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy to Remote Linux Host</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">DeployToGenericLinux</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
+   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
+    <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
+    <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
+    <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
+    <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
+    <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
+    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
+    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
+    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
+    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
+    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
+    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
+    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
+    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
+    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
+    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
+    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
+     <value type="int">0</value>
+     <value type="int">1</value>
+     <value type="int">2</value>
+     <value type="int">3</value>
+     <value type="int">4</value>
+     <value type="int">5</value>
+     <value type="int">6</value>
+     <value type="int">7</value>
+     <value type="int">8</value>
+     <value type="int">9</value>
+     <value type="int">10</value>
+     <value type="int">11</value>
+     <value type="int">12</value>
+     <value type="int">13</value>
+     <value type="int">14</value>
+    </valuelist>
+    <value type="int" key="PE.EnvironmentAspect.Base">1</value>
+    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt_Test (on Remote Device)</value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
+    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">RemoteLinuxRunConfiguration:Qt_Test</value>
+    <value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.Arguments"></value>
+    <value type="QString" key="Qt4ProjectManager.MaemoRunConfiguration.TargetName">Qt_Test</value>
+    <value type="int" key="RemoteLinux.EnvironmentAspect.Version">1</value>
+    <value type="QString" key="RemoteLinux.RunConfig.AlternateRemoteExecutable"></value>
+    <value type="bool" key="RemoteLinux.RunConfig.UseAlternateRemoteExecutable">false</value>
+    <value type="QString" key="RemoteLinux.RunConfig.WorkingDirectory"></value>
+    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
+    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
+    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
+    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
+   </valuemap>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">18</value>
+ </data>
+ <data>
+  <variable>Version</variable>
+  <value type="int">18</value>
+ </data>
+</qtcreator>

+ 7 - 0
Qt/Qt_Test_242/buttonclickthread.cpp

@@ -195,10 +195,17 @@ void ButtonClickThread::SaveSataus(int nX, int nY)
     int nAngle=0;
     m_nX=nX;
     m_nY=nY;
+#ifdef JY242
+    if(m_nX&&m_nY)nAngle=180;
+    if(m_nX&&!m_nY)nAngle=0;
+    if(!m_nX&&m_nY)nAngle=0;
+    if(!m_nX&&!m_nY)nAngle=180;
+#else
     if(m_nX&&m_nY)nAngle=90;
     if(m_nX&&!m_nY)nAngle=0;
     if(!m_nX&&m_nY)nAngle=270;
     if(!m_nX&&!m_nY)nAngle=180;
+#endif
     if(m_nSaveAngle!=nAngle)
     {
         QTime pNew=QTime::currentTime();

BIN
Qt/Qt_Test_242/buttonclickthread.o


+ 9 - 0
Qt/Qt_Test_242/dataupdatethread.cpp

@@ -263,10 +263,19 @@ void DataUpdateThread::ReadShmData()
         strS = QString::number(m_shmData->fS,'f',2);
         if(m_shmData->nStatus==0)
         {
+#ifdef Language_Zh
+            strStatus="关";
+#elif
             strStatus="OFF";
+#endif
         }else
         {
+#ifdef Language_Zh
+            strStatus="开";
+#elif
             strStatus="ON";
+#endif
+
         }
         strT = QString::number(m_shmData->fT,'f',2);
         strH = QString::number(m_shmData->fH,'f',2);

BIN
Qt/Qt_Test_242/dataupdatethread.o


+ 13 - 3
Qt/Qt_Test_242/main.cpp

@@ -16,16 +16,25 @@ int main(int argc, char *argv[])
     QGraphicsScene *scene   = new QGraphicsScene;
     QGraphicsView *gview    = new QGraphicsView(scene);
     QGraphicsProxyWidget *g_proxy_widget;
-    qDebug()<<"x:"<<w.size().width()<<"y:"<<w.size().height();
+    qDebug()<<"Widget-x:"<<w.size().width()<<"y:"<<w.size().height();
+    qDebug()<<"get Screen Start";
     QScreen *desktop        = QApplication::primaryScreen();
     QRect screen_info       = desktop->geometry();
+    qDebug()<<"get Screen End";
     // Rotation 90 degree
     g_proxy_widget = scene->addWidget((QWidget*)&w);
     g_proxy_widget->setRotation(0);
     // Set window size
+    qDebug()<<"Reset Widget";
+
     w.resize(screen_info.width(), screen_info.height());
     qDebug()<<"Rect:x="<<screen_info.width()<<"y="<<screen_info.height();
-
+/*
+    QRect screen_info(0,0,128,64);
+    w.resize(screen_info.width(), screen_info.height());
+*/
+    qDebug()<<"get Screen End";
+    qDebug()<<"Rect:x="<<screen_info.width()<<"y="<<screen_info.height();
     pdu_Ctrl::instance()->InitData(&w,g_proxy_widget,gview,screen_info.width(), screen_info.height());
     gview->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     gview->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
@@ -34,7 +43,7 @@ int main(int argc, char *argv[])
 
     qDebug()<<"x:"<<w.size().width()<<"y:"<<w.size().height();
 
-    qDebug()<<"Thread start";
+    qDebug()<<"Modbus Thread start";
     QString appDirPath = QCoreApplication::applicationDirPath();
     pdu_Ctrl::instance()->strSqliteAddress=appDirPath+"/pdu_dat.db";
     pdu_Ctrl::instance()->ReadModbusInit();
@@ -47,6 +56,7 @@ int main(int argc, char *argv[])
     thread_Update.initShm();
     thread_Update.start();
     //GPIO更新线程
+    qDebug()<<"GPIO Thread start";
     ButtonClickThread thread_Button(nullptr);
     thread_Button.InitConnect();
     thread_Button.start();

BIN
Qt/Qt_Test_242/main.o


BIN
Qt/Qt_Test_242/moc_buttonclickthread.o


BIN
Qt/Qt_Test_242/moc_dataupdatethread.o


BIN
Qt/Qt_Test_242/moc_pdu_ctrl.o


BIN
Qt/Qt_Test_242/moc_udphelper.o


BIN
Qt/Qt_Test_242/moc_volviewform.o


BIN
Qt/Qt_Test_242/moc_widget.o


+ 4 - 0
Qt/Qt_Test_242/pdu_ctrl.cpp

@@ -219,7 +219,11 @@ void pdu_Ctrl::Main_FunBtnSet(BtnDownType nbtnType)
                 break;
             default://其他界面
                 //在显示主界面时是旋转窗口
+#ifdef JY242
+                m_nAngle+=180;
+#else
                 m_nAngle+=90;
+#endif
                 m_nAngle==360?m_nAngle=0:m_nAngle;
                 qDebug()<<"nAngle:"<<m_nAngle;
                 slot_setAngel(m_nAngle);

+ 1 - 0
Qt/Qt_Test_242/pdu_ctrl.h

@@ -7,6 +7,7 @@
 #include <QGraphicsView>
 #include "widget.h"
 #define hightSmartPDU
+#define Language_Zh
 //#define RS485Type
 //#define RS485IpType
 enum WidgetType

BIN
Qt/Qt_Test_242/pdu_ctrl.o


BIN
Qt/Qt_Test_242/udphelper.o


+ 409 - 237
Qt/Qt_Test_242/ui_widget.h

@@ -13,7 +13,9 @@
 #include <QtWidgets/QApplication>
 #include <QtWidgets/QFrame>
 #include <QtWidgets/QGridLayout>
+#include <QtWidgets/QHBoxLayout>
 #include <QtWidgets/QLabel>
+#include <QtWidgets/QSpacerItem>
 #include <QtWidgets/QStackedWidget>
 #include <QtWidgets/QVBoxLayout>
 #include <QtWidgets/QWidget>
@@ -33,38 +35,47 @@ public:
     QWidget *page_4;
     QGridLayout *gridLayout_8;
     QLabel *label;
-    QLabel *label_modbus_type;
+    QLabel *label_2;
     QLabel *label_3;
-    QLabel *label_5;
     QLabel *label_4;
-    QLabel *label_2;
     QLabel *label_modbus_Addr;
+    QLabel *label_modbus_type;
+    QLabel *label_5;
+    QLabel *label_17;
     QWidget *page_5;
-    QGridLayout *gridLayout_3;
-    QLabel *label_16;
-    QLabel *label_12;
-    QLabel *label_8;
-    QLabel *label_10;
+    QVBoxLayout *verticalLayout_8;
+    QLabel *label_6;
+    QHBoxLayout *horizontalLayout_4;
     QLabel *label_7;
-    QLabel *label_15;
-    QLabel *label_11;
+    QLabel *label_8;
     QLabel *label_9;
     QLabel *label_13;
+    QHBoxLayout *horizontalLayout_5;
+    QLabel *label_10;
+    QLabel *label_16;
+    QSpacerItem *horizontalSpacer;
+    QHBoxLayout *horizontalLayout_6;
+    QLabel *label_12;
     QLabel *label_14;
-    QLabel *label_6;
+    QLabel *label_11;
+    QLabel *label_15;
     QWidget *page;
-    QGridLayout *gridLayout_4;
-    QLabel *label_39;
-    QLabel *label_S;
-    QLabel *label_A;
-    QLabel *label_37;
-    QLabel *label_W;
+    QVBoxLayout *verticalLayout_6;
+    QLabel *label_chName;
+    QHBoxLayout *horizontalLayout;
     QLabel *label_34;
     QLabel *label_V;
     QLabel *label_36;
+    QLabel *label_A;
+    QHBoxLayout *horizontalLayout_2;
+    QLabel *label_37;
+    QLabel *label_W;
+    QSpacerItem *horizontalSpacer_2;
+    QHBoxLayout *horizontalLayout_3;
+    QLabel *label_39;
+    QLabel *label_S;
     QLabel *label_38;
     QLabel *label_F;
-    QLabel *label_chName;
     QWidget *page_7;
     QGridLayout *gridLayout_6;
     QLabel *label_chName_4;
@@ -73,18 +84,23 @@ public:
     QLabel *label_44;
     QLabel *label_Humidity;
     QWidget *page_8;
-    QGridLayout *gridLayout_7;
-    QLabel *label_24;
-    QLabel *label_phW;
+    QVBoxLayout *verticalLayout_9;
+    QLabel *label_18;
+    QHBoxLayout *horizontalLayout_7;
     QLabel *label_22;
     QLabel *label_phV;
-    QLabel *label_21;
-    QLabel *label_phKw;
     QLabel *label_23;
     QLabel *label_phA;
+    QHBoxLayout *horizontalLayout_9;
+    QLabel *label_21;
+    QLabel *label_phKw;
+    QSpacerItem *horizontalSpacer_3;
+    QHBoxLayout *horizontalLayout_8;
+    QLabel *label_24;
+    QLabel *label_phW;
     QLabel *label_20;
     QLabel *label_phF;
-    QLabel *label_18;
+    QSpacerItem *verticalSpacer;
     QWidget *page_Setting;
     QVBoxLayout *verticalLayout_5;
     QFrame *frame_2;
@@ -113,12 +129,13 @@ public:
     {
         if (Widget->objectName().isEmpty())
             Widget->setObjectName(QString::fromUtf8("Widget"));
-        Widget->resize(128, 64);
+        Widget->resize(124, 102);
         QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
         sizePolicy.setHorizontalStretch(0);
         sizePolicy.setVerticalStretch(0);
         sizePolicy.setHeightForWidth(Widget->sizePolicy().hasHeightForWidth());
         Widget->setSizePolicy(sizePolicy);
+        Widget->setMaximumSize(QSize(128, 102));
         Widget->setStyleSheet(QString::fromUtf8("QFrame\n"
 "{\n"
 "	background-color: rgb(0, 0, 0);\n"
@@ -135,7 +152,10 @@ public:
         stackedWidget = new QStackedWidget(Widget);
         stackedWidget->setObjectName(QString::fromUtf8("stackedWidget"));
         QFont font;
-        font.setPointSize(5);
+        font.setFamily(QString::fromUtf8("ori1Uni"));
+        font.setPointSize(1);
+        font.setKerning(false);
+        font.setStyleStrategy(QFont::NoAntialias);
         stackedWidget->setFont(font);
         page_main = new QWidget();
         page_main->setObjectName(QString::fromUtf8("page_main"));
@@ -150,7 +170,7 @@ public:
         frame->setFrameShape(QFrame::StyledPanel);
         frame->setFrameShadow(QFrame::Raised);
         verticalLayout_4 = new QVBoxLayout(frame);
-        verticalLayout_4->setSpacing(6);
+        verticalLayout_4->setSpacing(0);
         verticalLayout_4->setContentsMargins(11, 11, 11, 11);
         verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
         verticalLayout_4->setContentsMargins(0, 0, 0, 0);
@@ -167,205 +187,310 @@ public:
         label = new QLabel(page_4);
         label->setObjectName(QString::fromUtf8("label"));
         QFont font1;
+        font1.setFamily(QString::fromUtf8("ori1Uni"));
         font1.setPointSize(7);
+        font1.setKerning(false);
+        font1.setStyleStrategy(QFont::NoAntialias);
         label->setFont(font1);
-        label->setAlignment(Qt::AlignCenter);
+        label->setAlignment(Qt::AlignHCenter|Qt::AlignTop);
 
         gridLayout_8->addWidget(label, 0, 0, 1, 2);
 
-        label_modbus_type = new QLabel(page_4);
-        label_modbus_type->setObjectName(QString::fromUtf8("label_modbus_type"));
-        label_modbus_type->setFont(font);
-        label_modbus_type->setWordWrap(true);
+        label_2 = new QLabel(page_4);
+        label_2->setObjectName(QString::fromUtf8("label_2"));
+        QFont font2;
+        font2.setFamily(QString::fromUtf8("ori1Uni"));
+        font2.setPointSize(6);
+        font2.setKerning(false);
+        font2.setStyleStrategy(QFont::NoAntialias);
+        label_2->setFont(font2);
+        label_2->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+        label_2->setWordWrap(false);
 
-        gridLayout_8->addWidget(label_modbus_type, 6, 0, 1, 1);
+        gridLayout_8->addWidget(label_2, 1, 0, 1, 2);
 
         label_3 = new QLabel(page_4);
         label_3->setObjectName(QString::fromUtf8("label_3"));
-        label_3->setFont(font);
+        label_3->setFont(font1);
+        label_3->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
         label_3->setWordWrap(true);
 
-        gridLayout_8->addWidget(label_3, 4, 0, 1, 2);
-
-        label_5 = new QLabel(page_4);
-        label_5->setObjectName(QString::fromUtf8("label_5"));
-        label_5->setFont(font);
-
-        gridLayout_8->addWidget(label_5, 2, 1, 1, 1);
+        gridLayout_8->addWidget(label_3, 6, 0, 1, 2);
 
         label_4 = new QLabel(page_4);
         label_4->setObjectName(QString::fromUtf8("label_4"));
-        label_4->setFont(font);
+        QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Preferred);
+        sizePolicy1.setHorizontalStretch(0);
+        sizePolicy1.setVerticalStretch(0);
+        sizePolicy1.setHeightForWidth(label_4->sizePolicy().hasHeightForWidth());
+        label_4->setSizePolicy(sizePolicy1);
+        label_4->setFont(font1);
+        label_4->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_8->addWidget(label_4, 2, 0, 1, 1);
-
-        label_2 = new QLabel(page_4);
-        label_2->setObjectName(QString::fromUtf8("label_2"));
-        label_2->setFont(font);
-
-        gridLayout_8->addWidget(label_2, 1, 0, 1, 2);
+        gridLayout_8->addWidget(label_4, 2, 0, 1, 2);
 
         label_modbus_Addr = new QLabel(page_4);
         label_modbus_Addr->setObjectName(QString::fromUtf8("label_modbus_Addr"));
         label_modbus_Addr->setFont(font);
+        label_modbus_Addr->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
         label_modbus_Addr->setWordWrap(true);
 
-        gridLayout_8->addWidget(label_modbus_Addr, 6, 1, 1, 1);
+        gridLayout_8->addWidget(label_modbus_Addr, 7, 1, 1, 1);
+
+        label_modbus_type = new QLabel(page_4);
+        label_modbus_type->setObjectName(QString::fromUtf8("label_modbus_type"));
+        label_modbus_type->setFont(font);
+        label_modbus_type->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+        label_modbus_type->setWordWrap(true);
+
+        gridLayout_8->addWidget(label_modbus_type, 7, 0, 1, 1);
+
+        label_5 = new QLabel(page_4);
+        label_5->setObjectName(QString::fromUtf8("label_5"));
+        sizePolicy1.setHeightForWidth(label_5->sizePolicy().hasHeightForWidth());
+        label_5->setSizePolicy(sizePolicy1);
+        label_5->setFont(font1);
+        label_5->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        gridLayout_8->addWidget(label_5, 3, 1, 1, 1);
+
+        label_17 = new QLabel(page_4);
+        label_17->setObjectName(QString::fromUtf8("label_17"));
+        label_17->setFont(font1);
+
+        gridLayout_8->addWidget(label_17, 3, 0, 1, 1);
 
+        gridLayout_8->setColumnStretch(1, 1);
         stackedWidget_Main->addWidget(page_4);
         page_5 = new QWidget();
         page_5->setObjectName(QString::fromUtf8("page_5"));
+        QFont font3;
+        font3.setPointSize(10);
+        page_5->setFont(font3);
         page_5->setStyleSheet(QString::fromUtf8("background-color: rgb(0, 0, 0);"));
-        gridLayout_3 = new QGridLayout(page_5);
-        gridLayout_3->setSpacing(0);
-        gridLayout_3->setContentsMargins(11, 11, 11, 11);
-        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
-        gridLayout_3->setContentsMargins(0, 0, 0, 0);
-        label_16 = new QLabel(page_5);
-        label_16->setObjectName(QString::fromUtf8("label_16"));
-        label_16->setFont(font);
-
-        gridLayout_3->addWidget(label_16, 3, 1, 1, 1);
-
-        label_12 = new QLabel(page_5);
-        label_12->setObjectName(QString::fromUtf8("label_12"));
-        label_12->setFont(font);
+        verticalLayout_8 = new QVBoxLayout(page_5);
+        verticalLayout_8->setSpacing(0);
+        verticalLayout_8->setContentsMargins(11, 11, 11, 11);
+        verticalLayout_8->setObjectName(QString::fromUtf8("verticalLayout_8"));
+        verticalLayout_8->setContentsMargins(0, 0, 0, 0);
+        label_6 = new QLabel(page_5);
+        label_6->setObjectName(QString::fromUtf8("label_6"));
+        QFont font4;
+        font4.setFamily(QString::fromUtf8("ori1Uni"));
+        font4.setPointSize(8);
+        font4.setKerning(false);
+        font4.setStyleStrategy(QFont::NoAntialias);
+        label_6->setFont(font4);
+        label_6->setAlignment(Qt::AlignHCenter|Qt::AlignTop);
+
+        verticalLayout_8->addWidget(label_6);
+
+        horizontalLayout_4 = new QHBoxLayout();
+        horizontalLayout_4->setSpacing(0);
+        horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
+        label_7 = new QLabel(page_5);
+        label_7->setObjectName(QString::fromUtf8("label_7"));
+        label_7->setFont(font4);
+        label_7->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_12, 5, 0, 1, 1);
+        horizontalLayout_4->addWidget(label_7);
 
         label_8 = new QLabel(page_5);
         label_8->setObjectName(QString::fromUtf8("label_8"));
-        label_8->setFont(font);
+        label_8->setFont(font4);
+        label_8->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_8, 1, 1, 1, 1);
+        horizontalLayout_4->addWidget(label_8);
 
-        label_10 = new QLabel(page_5);
-        label_10->setObjectName(QString::fromUtf8("label_10"));
-        label_10->setFont(font);
+        label_9 = new QLabel(page_5);
+        label_9->setObjectName(QString::fromUtf8("label_9"));
+        label_9->setFont(font4);
+        label_9->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_10, 3, 0, 1, 1);
+        horizontalLayout_4->addWidget(label_9);
 
-        label_7 = new QLabel(page_5);
-        label_7->setObjectName(QString::fromUtf8("label_7"));
-        label_7->setFont(font);
+        label_13 = new QLabel(page_5);
+        label_13->setObjectName(QString::fromUtf8("label_13"));
+        label_13->setFont(font4);
+        label_13->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_7, 1, 0, 1, 1);
+        horizontalLayout_4->addWidget(label_13);
 
-        label_15 = new QLabel(page_5);
-        label_15->setObjectName(QString::fromUtf8("label_15"));
-        label_15->setFont(font);
 
-        gridLayout_3->addWidget(label_15, 3, 3, 1, 1);
+        verticalLayout_8->addLayout(horizontalLayout_4);
 
-        label_11 = new QLabel(page_5);
-        label_11->setObjectName(QString::fromUtf8("label_11"));
-        label_11->setFont(font);
+        horizontalLayout_5 = new QHBoxLayout();
+        horizontalLayout_5->setSpacing(0);
+        horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
+        label_10 = new QLabel(page_5);
+        label_10->setObjectName(QString::fromUtf8("label_10"));
+        label_10->setFont(font4);
+        label_10->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_11, 3, 2, 1, 1);
+        horizontalLayout_5->addWidget(label_10);
 
-        label_9 = new QLabel(page_5);
-        label_9->setObjectName(QString::fromUtf8("label_9"));
-        label_9->setFont(font);
+        label_16 = new QLabel(page_5);
+        label_16->setObjectName(QString::fromUtf8("label_16"));
+        label_16->setFont(font4);
+        label_16->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_9, 1, 2, 1, 1);
+        horizontalLayout_5->addWidget(label_16);
 
-        label_13 = new QLabel(page_5);
-        label_13->setObjectName(QString::fromUtf8("label_13"));
-        label_13->setFont(font);
+        horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_3->addWidget(label_13, 1, 3, 1, 1);
+        horizontalLayout_5->addItem(horizontalSpacer);
+
+
+        verticalLayout_8->addLayout(horizontalLayout_5);
+
+        horizontalLayout_6 = new QHBoxLayout();
+        horizontalLayout_6->setSpacing(0);
+        horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6"));
+        label_12 = new QLabel(page_5);
+        label_12->setObjectName(QString::fromUtf8("label_12"));
+        label_12->setFont(font4);
+        label_12->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_6->addWidget(label_12);
 
         label_14 = new QLabel(page_5);
         label_14->setObjectName(QString::fromUtf8("label_14"));
-        label_14->setFont(font);
+        label_14->setFont(font4);
+        label_14->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_3->addWidget(label_14, 5, 1, 1, 1);
+        horizontalLayout_6->addWidget(label_14);
 
-        label_6 = new QLabel(page_5);
-        label_6->setObjectName(QString::fromUtf8("label_6"));
-        label_6->setFont(font1);
-        label_6->setAlignment(Qt::AlignCenter);
+        label_11 = new QLabel(page_5);
+        label_11->setObjectName(QString::fromUtf8("label_11"));
+        label_11->setFont(font4);
+        label_11->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_6->addWidget(label_11);
+
+        label_15 = new QLabel(page_5);
+        label_15->setObjectName(QString::fromUtf8("label_15"));
+        label_15->setFont(font4);
+        label_15->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_6->addWidget(label_15);
 
-        gridLayout_3->addWidget(label_6, 0, 0, 1, 4);
+
+        verticalLayout_8->addLayout(horizontalLayout_6);
 
         stackedWidget_Main->addWidget(page_5);
         page = new QWidget();
         page->setObjectName(QString::fromUtf8("page"));
         page->setStyleSheet(QString::fromUtf8("background-color: rgb(0, 0, 0);"));
-        gridLayout_4 = new QGridLayout(page);
-        gridLayout_4->setSpacing(0);
-        gridLayout_4->setContentsMargins(11, 11, 11, 11);
-        gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
-        gridLayout_4->setContentsMargins(0, 0, 0, 0);
-        label_39 = new QLabel(page);
-        label_39->setObjectName(QString::fromUtf8("label_39"));
-        label_39->setFont(font);
+        verticalLayout_6 = new QVBoxLayout(page);
+        verticalLayout_6->setSpacing(0);
+        verticalLayout_6->setContentsMargins(11, 11, 11, 11);
+        verticalLayout_6->setObjectName(QString::fromUtf8("verticalLayout_6"));
+        verticalLayout_6->setContentsMargins(0, 0, 0, 0);
+        label_chName = new QLabel(page);
+        label_chName->setObjectName(QString::fromUtf8("label_chName"));
+        QFont font5;
+        font5.setFamily(QString::fromUtf8("ori1Uni"));
+        font5.setPointSize(8);
+        font5.setStyleStrategy(QFont::NoAntialias);
+        label_chName->setFont(font5);
+        label_chName->setAlignment(Qt::AlignHCenter|Qt::AlignTop);
+
+        verticalLayout_6->addWidget(label_chName);
+
+        horizontalLayout = new QHBoxLayout();
+        horizontalLayout->setSpacing(0);
+        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
+        label_34 = new QLabel(page);
+        label_34->setObjectName(QString::fromUtf8("label_34"));
+        label_34->setFont(font5);
+        label_34->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_39, 5, 0, 1, 1);
+        horizontalLayout->addWidget(label_34);
 
-        label_S = new QLabel(page);
-        label_S->setObjectName(QString::fromUtf8("label_S"));
-        label_S->setFont(font);
+        label_V = new QLabel(page);
+        label_V->setObjectName(QString::fromUtf8("label_V"));
+        label_V->setFont(font5);
+        label_V->setStyleSheet(QString::fromUtf8("QLabel {\n"
+"    color: red;\n"
+"}"));
+        label_V->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout->addWidget(label_V);
+
+        label_36 = new QLabel(page);
+        label_36->setObjectName(QString::fromUtf8("label_36"));
+        label_36->setFont(font5);
+        label_36->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_S, 5, 1, 1, 1);
+        horizontalLayout->addWidget(label_36);
 
         label_A = new QLabel(page);
         label_A->setObjectName(QString::fromUtf8("label_A"));
-        label_A->setFont(font);
+        label_A->setFont(font5);
+        label_A->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_A, 1, 3, 1, 1);
+        horizontalLayout->addWidget(label_A);
 
+
+        verticalLayout_6->addLayout(horizontalLayout);
+
+        horizontalLayout_2 = new QHBoxLayout();
+        horizontalLayout_2->setSpacing(0);
+        horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
         label_37 = new QLabel(page);
         label_37->setObjectName(QString::fromUtf8("label_37"));
-        label_37->setFont(font);
+        label_37->setFont(font5);
+        label_37->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_37, 3, 0, 1, 1);
+        horizontalLayout_2->addWidget(label_37);
 
         label_W = new QLabel(page);
         label_W->setObjectName(QString::fromUtf8("label_W"));
-        label_W->setFont(font);
+        label_W->setFont(font5);
+        label_W->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_W, 3, 1, 1, 1);
+        horizontalLayout_2->addWidget(label_W);
 
-        label_34 = new QLabel(page);
-        label_34->setObjectName(QString::fromUtf8("label_34"));
-        label_34->setFont(font);
+        horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_4->addWidget(label_34, 1, 0, 1, 1);
+        horizontalLayout_2->addItem(horizontalSpacer_2);
 
-        label_V = new QLabel(page);
-        label_V->setObjectName(QString::fromUtf8("label_V"));
-        label_V->setFont(font);
-        label_V->setStyleSheet(QString::fromUtf8("QLabel {\n"
-"    color: red;\n"
-"}"));
 
-        gridLayout_4->addWidget(label_V, 1, 1, 1, 1);
+        verticalLayout_6->addLayout(horizontalLayout_2);
 
-        label_36 = new QLabel(page);
-        label_36->setObjectName(QString::fromUtf8("label_36"));
-        label_36->setFont(font);
+        horizontalLayout_3 = new QHBoxLayout();
+        horizontalLayout_3->setSpacing(0);
+        horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
+        label_39 = new QLabel(page);
+        label_39->setObjectName(QString::fromUtf8("label_39"));
+        label_39->setFont(font5);
+        label_39->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_3->addWidget(label_39);
+
+        label_S = new QLabel(page);
+        label_S->setObjectName(QString::fromUtf8("label_S"));
+        label_S->setFont(font5);
+        label_S->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_36, 1, 2, 1, 1);
+        horizontalLayout_3->addWidget(label_S);
 
         label_38 = new QLabel(page);
         label_38->setObjectName(QString::fromUtf8("label_38"));
-        label_38->setFont(font);
+        label_38->setFont(font5);
+        label_38->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_38, 3, 2, 1, 1);
+        horizontalLayout_3->addWidget(label_38);
 
         label_F = new QLabel(page);
         label_F->setObjectName(QString::fromUtf8("label_F"));
-        label_F->setFont(font);
+        label_F->setFont(font5);
+        label_F->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_4->addWidget(label_F, 3, 3, 1, 1);
+        horizontalLayout_3->addWidget(label_F);
 
-        label_chName = new QLabel(page);
-        label_chName->setObjectName(QString::fromUtf8("label_chName"));
-        label_chName->setFont(font1);
-        label_chName->setAlignment(Qt::AlignCenter);
 
-        gridLayout_4->addWidget(label_chName, 0, 0, 1, 4);
+        verticalLayout_6->addLayout(horizontalLayout_3);
 
         stackedWidget_Main->addWidget(page);
         page_7 = new QWidget();
@@ -378,20 +503,20 @@ public:
         gridLayout_6->setContentsMargins(15, 0, 15, 0);
         label_chName_4 = new QLabel(page_7);
         label_chName_4->setObjectName(QString::fromUtf8("label_chName_4"));
-        label_chName_4->setFont(font1);
+        label_chName_4->setFont(font5);
         label_chName_4->setAlignment(Qt::AlignCenter);
 
         gridLayout_6->addWidget(label_chName_4, 0, 0, 1, 2);
 
         label_43 = new QLabel(page_7);
         label_43->setObjectName(QString::fromUtf8("label_43"));
-        label_43->setFont(font);
+        label_43->setFont(font5);
 
         gridLayout_6->addWidget(label_43, 1, 0, 1, 1);
 
         label_Temp = new QLabel(page_7);
         label_Temp->setObjectName(QString::fromUtf8("label_Temp"));
-        label_Temp->setFont(font);
+        label_Temp->setFont(font5);
         label_Temp->setStyleSheet(QString::fromUtf8(""));
         label_Temp->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
 
@@ -399,13 +524,13 @@ public:
 
         label_44 = new QLabel(page_7);
         label_44->setObjectName(QString::fromUtf8("label_44"));
-        label_44->setFont(font);
+        label_44->setFont(font5);
 
         gridLayout_6->addWidget(label_44, 2, 0, 1, 1);
 
         label_Humidity = new QLabel(page_7);
         label_Humidity->setObjectName(QString::fromUtf8("label_Humidity"));
-        label_Humidity->setFont(font);
+        label_Humidity->setFont(font5);
         label_Humidity->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
 
         gridLayout_6->addWidget(label_Humidity, 2, 1, 1, 1);
@@ -413,92 +538,130 @@ public:
         stackedWidget_Main->addWidget(page_7);
         page_8 = new QWidget();
         page_8->setObjectName(QString::fromUtf8("page_8"));
+        QFont font6;
+        font6.setPointSize(8);
+        page_8->setFont(font6);
         page_8->setStyleSheet(QString::fromUtf8("background-color: rgb(0, 0, 0);"));
-        gridLayout_7 = new QGridLayout(page_8);
-        gridLayout_7->setSpacing(0);
-        gridLayout_7->setContentsMargins(11, 11, 11, 11);
-        gridLayout_7->setObjectName(QString::fromUtf8("gridLayout_7"));
-        gridLayout_7->setContentsMargins(0, 0, 0, 0);
-        label_24 = new QLabel(page_8);
-        label_24->setObjectName(QString::fromUtf8("label_24"));
-        label_24->setFont(font);
-
-        gridLayout_7->addWidget(label_24, 3, 0, 1, 1);
-
-        label_phW = new QLabel(page_8);
-        label_phW->setObjectName(QString::fromUtf8("label_phW"));
-        label_phW->setFont(font);
+        verticalLayout_9 = new QVBoxLayout(page_8);
+        verticalLayout_9->setSpacing(0);
+        verticalLayout_9->setContentsMargins(11, 11, 11, 11);
+        verticalLayout_9->setObjectName(QString::fromUtf8("verticalLayout_9"));
+        verticalLayout_9->setContentsMargins(0, 0, 0, 0);
+        label_18 = new QLabel(page_8);
+        label_18->setObjectName(QString::fromUtf8("label_18"));
+        label_18->setFont(font5);
+        label_18->setAlignment(Qt::AlignHCenter|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_phW, 3, 1, 1, 1);
+        verticalLayout_9->addWidget(label_18);
 
+        horizontalLayout_7 = new QHBoxLayout();
+        horizontalLayout_7->setSpacing(0);
+        horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
         label_22 = new QLabel(page_8);
         label_22->setObjectName(QString::fromUtf8("label_22"));
-        label_22->setFont(font);
+        label_22->setFont(font5);
+        label_22->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_22, 1, 0, 1, 1);
+        horizontalLayout_7->addWidget(label_22);
 
         label_phV = new QLabel(page_8);
         label_phV->setObjectName(QString::fromUtf8("label_phV"));
-        label_phV->setFont(font);
+        label_phV->setFont(font5);
+        label_phV->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_7->addWidget(label_phV);
+
+        label_23 = new QLabel(page_8);
+        label_23->setObjectName(QString::fromUtf8("label_23"));
+        label_23->setFont(font5);
+        label_23->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_phV, 1, 1, 1, 1);
+        horizontalLayout_7->addWidget(label_23);
 
+        label_phA = new QLabel(page_8);
+        label_phA->setObjectName(QString::fromUtf8("label_phA"));
+        label_phA->setFont(font5);
+        label_phA->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_7->addWidget(label_phA);
+
+
+        verticalLayout_9->addLayout(horizontalLayout_7);
+
+        horizontalLayout_9 = new QHBoxLayout();
+        horizontalLayout_9->setSpacing(0);
+        horizontalLayout_9->setObjectName(QString::fromUtf8("horizontalLayout_9"));
         label_21 = new QLabel(page_8);
         label_21->setObjectName(QString::fromUtf8("label_21"));
-        label_21->setFont(font);
+        label_21->setFont(font5);
+        label_21->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_21, 5, 0, 1, 1);
+        horizontalLayout_9->addWidget(label_21);
 
         label_phKw = new QLabel(page_8);
         label_phKw->setObjectName(QString::fromUtf8("label_phKw"));
-        label_phKw->setFont(font);
+        label_phKw->setFont(font5);
+        label_phKw->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_phKw, 5, 1, 1, 1);
+        horizontalLayout_9->addWidget(label_phKw);
 
-        label_23 = new QLabel(page_8);
-        label_23->setObjectName(QString::fromUtf8("label_23"));
-        label_23->setFont(font);
+        horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
 
-        gridLayout_7->addWidget(label_23, 1, 2, 1, 1);
+        horizontalLayout_9->addItem(horizontalSpacer_3);
 
-        label_phA = new QLabel(page_8);
-        label_phA->setObjectName(QString::fromUtf8("label_phA"));
-        label_phA->setFont(font);
 
-        gridLayout_7->addWidget(label_phA, 1, 3, 1, 1);
+        verticalLayout_9->addLayout(horizontalLayout_9);
+
+        horizontalLayout_8 = new QHBoxLayout();
+        horizontalLayout_8->setSpacing(0);
+        horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8"));
+        label_24 = new QLabel(page_8);
+        label_24->setObjectName(QString::fromUtf8("label_24"));
+        label_24->setFont(font5);
+        label_24->setTextFormat(Qt::AutoText);
+        label_24->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_8->addWidget(label_24);
+
+        label_phW = new QLabel(page_8);
+        label_phW->setObjectName(QString::fromUtf8("label_phW"));
+        label_phW->setFont(font5);
+        label_phW->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+        horizontalLayout_8->addWidget(label_phW);
 
         label_20 = new QLabel(page_8);
         label_20->setObjectName(QString::fromUtf8("label_20"));
-        label_20->setFont(font);
+        label_20->setFont(font5);
+        label_20->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_20, 3, 2, 1, 1);
+        horizontalLayout_8->addWidget(label_20);
 
         label_phF = new QLabel(page_8);
         label_phF->setObjectName(QString::fromUtf8("label_phF"));
-        label_phF->setFont(font);
+        label_phF->setFont(font5);
+        label_phF->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
 
-        gridLayout_7->addWidget(label_phF, 3, 3, 1, 1);
+        horizontalLayout_8->addWidget(label_phF);
 
-        label_18 = new QLabel(page_8);
-        label_18->setObjectName(QString::fromUtf8("label_18"));
-        label_18->setFont(font1);
-        label_18->setAlignment(Qt::AlignCenter);
 
-        gridLayout_7->addWidget(label_18, 0, 0, 1, 4);
+        verticalLayout_9->addLayout(horizontalLayout_8);
 
         stackedWidget_Main->addWidget(page_8);
 
         verticalLayout_4->addWidget(stackedWidget_Main);
 
+        verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+        verticalLayout_4->addItem(verticalSpacer);
+
 
         verticalLayout_3->addWidget(frame);
 
         stackedWidget->addWidget(page_main);
         page_Setting = new QWidget();
         page_Setting->setObjectName(QString::fromUtf8("page_Setting"));
-        QFont font2;
-        font2.setPointSize(8);
-        page_Setting->setFont(font2);
+        page_Setting->setFont(font6);
         verticalLayout_5 = new QVBoxLayout(page_Setting);
         verticalLayout_5->setSpacing(0);
         verticalLayout_5->setContentsMargins(11, 11, 11, 11);
@@ -506,7 +669,11 @@ public:
         verticalLayout_5->setContentsMargins(0, 0, 0, 0);
         frame_2 = new QFrame(page_Setting);
         frame_2->setObjectName(QString::fromUtf8("frame_2"));
-        frame_2->setFont(font);
+        QFont font7;
+        font7.setFamily(QString::fromUtf8("ori1Uni"));
+        font7.setPointSize(7);
+        font7.setStyleStrategy(QFont::NoAntialias);
+        frame_2->setFont(font7);
         frame_2->setFrameShape(QFrame::StyledPanel);
         frame_2->setFrameShadow(QFrame::Raised);
         verticalLayout_7 = new QVBoxLayout(frame_2);
@@ -516,7 +683,7 @@ public:
         verticalLayout_7->setContentsMargins(0, 0, 0, 0);
         stackedWidget_Setting = new QStackedWidget(frame_2);
         stackedWidget_Setting->setObjectName(QString::fromUtf8("stackedWidget_Setting"));
-        stackedWidget_Setting->setFont(font);
+        stackedWidget_Setting->setFont(font7);
         stackedWidget_Setting->setStyleSheet(QString::fromUtf8(""));
         page_2 = new QWidget();
         page_2->setObjectName(QString::fromUtf8("page_2"));
@@ -528,26 +695,30 @@ public:
         gridLayout_2->setContentsMargins(0, 0, 0, 0);
         label_SaveName = new QLabel(page_2);
         label_SaveName->setObjectName(QString::fromUtf8("label_SaveName"));
-        label_SaveName->setFont(font);
+        QFont font8;
+        font8.setFamily(QString::fromUtf8("ori1Uni"));
+        font8.setPointSize(6);
+        font8.setStyleStrategy(QFont::NoAntialias);
+        label_SaveName->setFont(font8);
 
         gridLayout_2->addWidget(label_SaveName, 3, 0, 1, 1);
 
         label_chName_2 = new QLabel(page_2);
         label_chName_2->setObjectName(QString::fromUtf8("label_chName_2"));
-        label_chName_2->setFont(font1);
+        label_chName_2->setFont(font5);
         label_chName_2->setAlignment(Qt::AlignCenter);
 
         gridLayout_2->addWidget(label_chName_2, 0, 0, 1, 2);
 
         label_MSName = new QLabel(page_2);
         label_MSName->setObjectName(QString::fromUtf8("label_MSName"));
-        label_MSName->setFont(font);
+        label_MSName->setFont(font8);
 
         gridLayout_2->addWidget(label_MSName, 2, 0, 1, 1);
 
         label_addressData = new QLabel(page_2);
         label_addressData->setObjectName(QString::fromUtf8("label_addressData"));
-        label_addressData->setFont(font);
+        label_addressData->setFont(font8);
         label_addressData->setStyleSheet(QString::fromUtf8(""));
         label_addressData->setAlignment(Qt::AlignCenter);
 
@@ -555,20 +726,20 @@ public:
 
         label_addressName = new QLabel(page_2);
         label_addressName->setObjectName(QString::fromUtf8("label_addressName"));
-        label_addressName->setFont(font);
+        label_addressName->setFont(font8);
 
         gridLayout_2->addWidget(label_addressName, 1, 0, 1, 1);
 
         label_MSData = new QLabel(page_2);
         label_MSData->setObjectName(QString::fromUtf8("label_MSData"));
-        label_MSData->setFont(font);
+        label_MSData->setFont(font8);
         label_MSData->setAlignment(Qt::AlignCenter);
 
         gridLayout_2->addWidget(label_MSData, 2, 1, 1, 1);
 
         label_SaveData = new QLabel(page_2);
         label_SaveData->setObjectName(QString::fromUtf8("label_SaveData"));
-        label_SaveData->setFont(font);
+        label_SaveData->setFont(font8);
         label_SaveData->setAlignment(Qt::AlignCenter);
 
         gridLayout_2->addWidget(label_SaveData, 3, 1, 1, 1);
@@ -584,20 +755,20 @@ public:
         gridLayout_5->setContentsMargins(0, 0, 0, 0);
         label_chName_3 = new QLabel(page_6);
         label_chName_3->setObjectName(QString::fromUtf8("label_chName_3"));
-        label_chName_3->setFont(font1);
+        label_chName_3->setFont(font5);
         label_chName_3->setAlignment(Qt::AlignCenter);
 
         gridLayout_5->addWidget(label_chName_3, 0, 0, 1, 2);
 
         label_42 = new QLabel(page_6);
         label_42->setObjectName(QString::fromUtf8("label_42"));
-        label_42->setFont(font);
+        label_42->setFont(font7);
 
         gridLayout_5->addWidget(label_42, 1, 0, 1, 1);
 
         label_V_3 = new QLabel(page_6);
         label_V_3->setObjectName(QString::fromUtf8("label_V_3"));
-        label_V_3->setFont(font);
+        label_V_3->setFont(font7);
         label_V_3->setStyleSheet(QString::fromUtf8(""));
         label_V_3->setAlignment(Qt::AlignCenter);
 
@@ -620,9 +791,9 @@ public:
         verticalLayout_2->setContentsMargins(0, 0, 0, 0);
         frame_5 = new QFrame(page_3);
         frame_5->setObjectName(QString::fromUtf8("frame_5"));
-        QFont font3;
-        font3.setPointSize(26);
-        frame_5->setFont(font3);
+        QFont font9;
+        font9.setPointSize(26);
+        frame_5->setFont(font9);
         frame_5->setFrameShape(QFrame::StyledPanel);
         frame_5->setFrameShadow(QFrame::Raised);
         gridLayout = new QGridLayout(frame_5);
@@ -644,7 +815,7 @@ public:
 
         stackedWidget->setCurrentIndex(0);
         stackedWidget_Main->setCurrentIndex(0);
-        stackedWidget_Setting->setCurrentIndex(1);
+        stackedWidget_Setting->setCurrentIndex(0);
 
 
         QMetaObject::connectSlotsByName(Widget);
@@ -654,50 +825,51 @@ public:
     {
         Widget->setWindowTitle(QApplication::translate("Widget", "Widget", nullptr));
         label->setText(QApplication::translate("Widget", "SmartPDU", nullptr));
-        label_modbus_type->setText(QApplication::translate("Widget", "ModbusType: ", nullptr));
-        label_3->setText(QApplication::translate("Widget", "Ip:192.168.155.132", nullptr));
-        label_5->setText(QApplication::translate("Widget", "Time:14:32:16", nullptr));
-        label_4->setText(QApplication::translate("Widget", "Date:2024.4.18", nullptr));
-        label_2->setText(QApplication::translate("Widget", "Version:1.1.0", nullptr));
+        label_2->setText(QApplication::translate("Widget", "\347\211\210\346\234\254:V1.1.0", nullptr));
+        label_3->setText(QApplication::translate("Widget", "IP\345\234\260\345\235\200:192.168.155.132", nullptr));
+        label_4->setText(QApplication::translate("Widget", "\346\227\245\346\234\237:2024.04.18", nullptr));
         label_modbus_Addr->setText(QApplication::translate("Widget", "ModbusAddress:", nullptr));
-        label_16->setText(QApplication::translate("Widget", "0.0", nullptr));
-        label_12->setText(QApplication::translate("Widget", "Sum(Kw):", nullptr));
+        label_modbus_type->setText(QApplication::translate("Widget", "ModbusType: ", nullptr));
+        label_5->setText(QApplication::translate("Widget", "14:32:16", nullptr));
+        label_17->setText(QApplication::translate("Widget", "\346\227\266\351\227\264:", nullptr));
+        label_6->setText(QApplication::translate("Widget", "\350\276\223\345\205\245\346\225\260\346\215\256", nullptr));
+        label_7->setText(QApplication::translate("Widget", "\347\224\265\345\216\213:", nullptr));
         label_8->setText(QApplication::translate("Widget", "0", nullptr));
-        label_10->setText(QApplication::translate("Widget", "Power(W):", nullptr));
-        label_7->setText(QApplication::translate("Widget", "Volt(V):", nullptr));
-        label_15->setText(QApplication::translate("Widget", "0%", nullptr));
-        label_11->setText(QApplication::translate("Widget", "Factor:", nullptr));
-        label_9->setText(QApplication::translate("Widget", "Cur(A):", nullptr));
+        label_9->setText(QApplication::translate("Widget", "\347\224\265\346\265\201:", nullptr));
         label_13->setText(QApplication::translate("Widget", "0.0", nullptr));
+        label_10->setText(QApplication::translate("Widget", "\345\212\237\347\216\207:", nullptr));
+        label_16->setText(QApplication::translate("Widget", "0.0", nullptr));
+        label_12->setText(QApplication::translate("Widget", "\350\200\227\347\224\265\351\207\217:", nullptr));
         label_14->setText(QApplication::translate("Widget", "0", nullptr));
-        label_6->setText(QApplication::translate("Widget", "Input Vol", nullptr));
-        label_39->setText(QApplication::translate("Widget", "Sum(Kw):", nullptr));
-        label_S->setText(QApplication::translate("Widget", "0", nullptr));
+        label_11->setText(QApplication::translate("Widget", "\345\233\240\346\225\260:", nullptr));
+        label_15->setText(QApplication::translate("Widget", "0%", nullptr));
+        label_chName->setText(QApplication::translate("Widget", "\350\276\223\345\207\272\351\200\232\351\201\223 CH", nullptr));
+        label_34->setText(QApplication::translate("Widget", "\347\212\266\346\200\201:", nullptr));
+        label_V->setText(QApplication::translate("Widget", "OFF", nullptr));
+        label_36->setText(QApplication::translate("Widget", "\347\224\265\346\265\201:", nullptr));
         label_A->setText(QApplication::translate("Widget", "0.0", nullptr));
-        label_37->setText(QApplication::translate("Widget", "Power(W):", nullptr));
+        label_37->setText(QApplication::translate("Widget", "\345\212\237\347\216\207:", nullptr));
         label_W->setText(QApplication::translate("Widget", "0.0", nullptr));
-        label_34->setText(QApplication::translate("Widget", "Switch", nullptr));
-        label_V->setText(QApplication::translate("Widget", "OFF", nullptr));
-        label_36->setText(QApplication::translate("Widget", "Cur(A):", nullptr));
-        label_38->setText(QApplication::translate("Widget", "Factor:", nullptr));
+        label_39->setText(QApplication::translate("Widget", "\350\200\227\347\224\265\351\207\217:", nullptr));
+        label_S->setText(QApplication::translate("Widget", "0", nullptr));
+        label_38->setText(QApplication::translate("Widget", "\345\233\240\346\225\260:", nullptr));
         label_F->setText(QApplication::translate("Widget", "0%", nullptr));
-        label_chName->setText(QApplication::translate("Widget", "Output CH", nullptr));
-        label_chName_4->setText(QApplication::translate("Widget", "Sensor", nullptr));
-        label_43->setText(QApplication::translate("Widget", "Temp", nullptr));
+        label_chName_4->setText(QApplication::translate("Widget", "\346\270\251\346\271\277\345\272\246", nullptr));
+        label_43->setText(QApplication::translate("Widget", "\346\270\251\345\272\246\357\274\232", nullptr));
         label_Temp->setText(QApplication::translate("Widget", "0", nullptr));
-        label_44->setText(QApplication::translate("Widget", "Humidity", nullptr));
+        label_44->setText(QApplication::translate("Widget", "\346\271\277\345\272\246\357\274\232", nullptr));
         label_Humidity->setText(QApplication::translate("Widget", "0 %", nullptr));
-        label_24->setText(QApplication::translate("Widget", "Power(W):", nullptr));
-        label_phW->setText(QApplication::translate("Widget", "0.0", nullptr));
-        label_22->setText(QApplication::translate("Widget", "Volt(V):", nullptr));
+        label_18->setText(QApplication::translate("Widget", "\350\276\223\345\207\272\351\200\232\351\201\223 CHA", nullptr));
+        label_22->setText(QApplication::translate("Widget", "\347\224\265\345\216\213:", nullptr));
         label_phV->setText(QApplication::translate("Widget", "0", nullptr));
-        label_21->setText(QApplication::translate("Widget", "Sum(Kw):", nullptr));
-        label_phKw->setText(QApplication::translate("Widget", "0", nullptr));
-        label_23->setText(QApplication::translate("Widget", "Cur(A):", nullptr));
+        label_23->setText(QApplication::translate("Widget", "\347\224\265\346\265\201:", nullptr));
         label_phA->setText(QApplication::translate("Widget", "0.0", nullptr));
-        label_20->setText(QApplication::translate("Widget", "Factor:", nullptr));
+        label_21->setText(QApplication::translate("Widget", "\350\200\227\347\224\265\351\207\217:", nullptr));
+        label_phKw->setText(QApplication::translate("Widget", "0", nullptr));
+        label_24->setText(QApplication::translate("Widget", "\345\212\237\347\216\207:", nullptr));
+        label_phW->setText(QApplication::translate("Widget", "0.0", nullptr));
+        label_20->setText(QApplication::translate("Widget", "\345\233\240\346\225\260:", nullptr));
         label_phF->setText(QApplication::translate("Widget", "0%", nullptr));
-        label_18->setText(QApplication::translate("Widget", "Output CHA", nullptr));
         label_SaveName->setText(QApplication::translate("Widget", "Save:", nullptr));
         label_chName_2->setText(QApplication::translate("Widget", "Set MODBUS", nullptr));
         label_MSName->setText(QApplication::translate("Widget", "Mode:", nullptr));

BIN
Qt/Qt_Test_242/volviewform.o


+ 29 - 5
Qt/Qt_Test_242/widget.cpp

@@ -123,14 +123,22 @@ void Widget::setShowPHIndex(int nIndex)
 void Widget::UpdateDate()
 {
     QDateTime currentTime = QDateTime::currentDateTime();
+#ifdef Language_Zh
+    QString strDate="日期:"+currentTime.toString("yyyy.MM.dd");
+#else
     QString strDate="Date:"+currentTime.toString("yyyy.MM.dd");
-    QString strTime="Time:"+currentTime.toString("HH:mm:ss");
+#endif
+    QString strTime=currentTime.toString("HH:mm:ss");
     if(ui)
     {
         ui->label_4->setText(strDate);
         ui->label_5->setText(strTime);
     }
+#ifdef Language_Zh
+    QString strIP="IP地址:"+ReadIP();
+#else
     QString strIP="IP:"+ReadIP();
+#endif
     ui->label_3->setText(strIP);
 
     if(pdu_Ctrl::instance()->m_nModbusMSType!=1)
@@ -199,7 +207,11 @@ void Widget::SetIP(QString strIP)
 
 void Widget::setCH(int nIndex)
 {
+#ifdef Language_Zh
+    QString  strShow=QString("输出通道CH%1").arg(nIndex);
+#else
     QString  strShow=QString("Output CH%1").arg(nIndex);
+#endif
     SetData(ui->label_chName,strShow);
 
 }
@@ -208,13 +220,13 @@ void Widget::setPH(int nIndex,int nPHType)
     QString  strShow="";
     switch (nPHType) {
     case 1:
-        strShow="-A";
+        strShow="-L1";
         break;
     case 2:
-        strShow="-B";
+        strShow="-L2";
         break;
     case 3:
-        strShow="-C";
+        strShow="-L3";
         break;
     default:
         break;
@@ -223,10 +235,18 @@ void Widget::setPH(int nIndex,int nPHType)
     QString  strPHShow="";
     if(nIndex<=0)
     {
+#ifdef Language_Zh
+        strPHShow=QString("输入通道%1").arg(strShow);
+#else
         strPHShow=QString("Input Vol%1").arg(strShow);
+#endif
     }else
     {
-        strPHShow=QString("Output CH%1%2").arg(nIndex).arg(strShow);
+#ifdef Language_Zh
+        strPHShow=QString("输出通道CH%1%2").arg(nIndex).arg(strShow);
+#else
+        strPHShow=QString("输出通道CH%1%2").arg(nIndex).arg(strShow);
+#endif
     }
     SetData(ui->label_18,strPHShow);
     qDebug()<<"CH_Select:"<<nIndex<<"PH_Select:"<<nPHType;
@@ -466,6 +486,9 @@ void Widget::CtrlBtnSet(int nIndex, int nData)
 
 void Widget::slot_TimerRun()
 {
+#ifdef JY242
+    pageUp();
+#else
     int nIndex=ui->stackedWidget->currentIndex();
     int nSubIndex=ui->stackedWidget_Main->currentIndex();
     if(nIndex==0&&nSubIndex==2)//通道页面标记
@@ -484,4 +507,5 @@ void Widget::slot_TimerRun()
         }
         qDebug()<<"Timer Once ----nChidIndex="<<nChidIndex;
     }
+#endif
 }

+ 1 - 0
Qt/Qt_Test_242/widget.h

@@ -14,6 +14,7 @@ class Widget;
 }
 //ST7735驱动
 #define ST7735_ERROR
+#define JY242 //景园2.42寸屏幕
 
 #ifdef ST7735_ERROR
 //ST7735 驱动使用GRB红色与蓝色位置相反

BIN
Qt/Qt_Test_242/widget.o


Dosya farkı çok büyük olduğundan ihmal edildi
+ 854 - 438
Qt/Qt_Test_242/widget.ui