feat: 新增系统时间时分秒修改

master
cbwu 7 months ago
parent 2b3f8d699a
commit b65da15829

1
.gitignore vendored

@ -0,0 +1 @@
build/

@ -0,0 +1,23 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1941
QMAKE_CXX.QMAKE_MSC_FULL_VER = 194134120
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER
QMAKE_CXX.INCDIRS = \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\include" \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\ATLMFC\\include" \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Auxiliary\\VS\\include" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.22621.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\um" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\winrt" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.22621.0\\\\cppwinrt" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um"
QMAKE_CXX.LIBDIRS = \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\ATLMFC\\lib\\x64" \
"D:\\Program Files\\Microsoft Visual Studio\\2022\\Professional\\VC\\Tools\\MSVC\\14.41.34120\\lib\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.22621.0\\ucrt\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.22621.0\\\\um\\x64"

Binary file not shown.

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 12.0.1, 2024-01-10T18:39:15. --> <!-- Written by QtCreator 14.0.1, 2024-08-31T14:03:03. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
<value type="QByteArray">{8cfa9d78-659c-4111-ba1f-cc573f4fb26a}</value> <value type="QByteArray">{662fef76-68a1-43e8-a542-8c1ed6fdbc67}</value>
</data> </data>
<data> <data>
<variable>ProjectExplorer.Project.ActiveTarget</variable> <variable>ProjectExplorer.Project.ActiveTarget</variable>
@ -41,7 +41,7 @@
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value> <value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value> <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">2</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value> <value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
@ -69,7 +69,9 @@
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value> <value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
<value type="bool" key="AutoTest.Framework.QtTest">true</value> <value type="bool" key="AutoTest.Framework.QtTest">true</value>
</valuemap> </valuemap>
<value type="bool" key="AutoTest.ApplyFilter">false</value>
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/> <valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
<valuelist type="QVariantList" key="AutoTest.PathFilters"/>
<value type="int" key="AutoTest.RunAfterBuild">0</value> <value type="int" key="AutoTest.RunAfterBuild">0</value>
<value type="bool" key="AutoTest.UseGlobal">true</value> <value type="bool" key="AutoTest.UseGlobal">true</value>
<valuemap type="QVariantMap" key="ClangTools"> <valuemap type="QVariantMap" key="ClangTools">
@ -92,13 +94,13 @@
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 MSVC2019 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.win64_msvc2019_64_kit</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="qlonglong" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\ModifyDatTime\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -136,8 +138,8 @@
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\ModifyDatTime\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -175,49 +177,7 @@
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value> <value type="int" key="QtQuickCompiler">0</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> <value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">E:\MyCode\Qt\build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">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>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">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.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="int" key="QtQuickCompiler">0</value>
<value type="int" key="SeparateDebugInfo">0</value>
</valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value> <value type="qlonglong" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
@ -240,6 +200,7 @@
<value type="int" key="PE.EnvironmentAspect.Base">2</value> <value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value> <value type="bool" key="PE.EnvironmentAspect.PrintOnRun">false</value>
<value type="QString" key="PerfRecordArgsId">-e cpu-cycles --call-graph &quot;dwarf,4096&quot; -F 250</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value> <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">E:/MyCode/Qt/ModifyDatTime/ModifyDatTime.pro</value>
@ -247,7 +208,7 @@
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value> <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/MyCode/Qt/build-ModifyDatTime-Desktop_Qt_5_15_2_MSVC2019_64bit-Release</value> <value type="QString" key="RunConfiguration.WorkingDirectory.default">E:/MyCode/Qt/ModifyDatTime/build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug</value>
</valuemap> </valuemap>
<value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value> <value type="qlonglong" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap> </valuemap>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,214 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{48591395-E0D9-30EA-8A6D-AB2FBD9DD467}</ProjectGuid>
<RootNamespace>ModifyDatTime</RootNamespace>
<Keyword>QtVS_v304</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.22621.0</WindowsTargetPlatformMinVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>release\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>release\</IntermediateDirectory>
<PrimaryOutput>ModifyDatTime</PrimaryOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<PlatformToolset>v142</PlatformToolset>
<OutputDirectory>debug\</OutputDirectory>
<ATLMinimizesCRunTimeLibraryUsage>false</ATLMinimizesCRunTimeLibraryUsage>
<CharacterSet>NotSet</CharacterSet>
<ConfigurationType>Application</ConfigurationType>
<IntermediateDirectory>debug\</IntermediateDirectory>
<PrimaryOutput>ModifyDatTime</PrimaryOutput>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(QtMsBuild)\qt_defaults.props" Condition="Exists('$(QtMsBuild)\qt_defaults.props')" />
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>Qt5.15.2 msvc2019_64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>Qt5.15.2 msvc2019_64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') OR !Exists('$(QtMsBuild)\Qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" />
<Import Project="$(QtMsBuild)\Qt.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">release\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ModifyDatTime</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</IgnoreImportLibrary>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">debug\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ModifyDatTime</TargetName>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</IgnoreImportLibrary>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>None</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)\ModifyDatTime.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<QtUicDir>$(ProjectDir)</QtUicDir>
<QtUicFileName>ui_%(Filename).h</QtUicFileName>
</QtUic>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<AdditionalIncludeDirectories>GeneratedFiles\$(ConfigurationName);GeneratedFiles;.;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4577;4467;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpp17</LanguageStandard>
<ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\openssl\lib;C:\Utils\my_sql\mysql-5.7.25-winx64\lib;C:\Utils\postgresql\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<OutputFile>$(OutDir)\ModifyDatTime.exe</OutputFile>
<RandomizedBaseAddress>true</RandomizedBaseAddress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Link>
<Midl>
<DefaultCharType>Unsigned</DefaultCharType>
<EnableErrorChecks>None</EnableErrorChecks>
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc>
<CompilerFlavor>msvc</CompilerFlavor>
<Include>./$(Configuration)/moc_predefs.h</Include>
<ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription>
<DynamicSource>output</DynamicSource>
<QtMocDir>$(Configuration)</QtMocDir>
<QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
</QtMoc>
<QtUic>
<ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription>
<QtUicDir>$(ProjectDir)</QtUicDir>
<QtUicFileName>ui_%(Filename).h</QtUicFileName>
</QtUic>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="mainwindow.cpp" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="mainwindow.h" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -Zi -MDd -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;$(IntDir)\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<FileType>Document</FileType>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl -Bx"$(QTDIR)\bin\qmake.exe" -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus /utf-8 -O2 -MD -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E $(QTDIR)\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;$(IntDir)\moc_predefs.h</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generate moc_predefs.h</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)\moc_predefs.h;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<QtUic Include="mainwindow.ui" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(QtMsBuild)\qt.targets" Condition="Exists('$(QtMsBuild)\qt.targets')" />
<ImportGroup Label="ExtensionTargets" />
</Project>

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>cpp;c;cxx;moc;h;def;odl;idl;res;</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="mainwindow.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="mainwindow.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="debug\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
<CustomBuild Include="release\moc_predefs.h.cbt">
<Filter>Generated Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<QtUic Include="mainwindow.ui">
<Filter>Form Files</Filter>
</QtUic>
</ItemGroup>
</Project>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtTouchProperty>
</QtTouchProperty>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtTouchProperty>
</QtTouchProperty>
</PropertyGroup>
</Project>

@ -1,39 +1,46 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "ui_mainwindow.h" #include "ui_mainwindow.h"
#include <QFile>
#include <QDataStream>
#include <QByteArray> #include <QByteArray>
#include <QDataStream>
#include <QDate>
#include <QDebug>
#include <QDir> #include <QDir>
#include <QFile>
#include <QFileDialog> #include <QFileDialog>
#include <QMessageBox> #include <QMessageBox>
#include <QDate> #include <QTime>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
, ui(new Ui::MainWindow)
{
ui->setupUi(this); ui->setupUi(this);
ui->hourSpinBox->setMaximum(23);
ui->minuteSpinBox->setMaximum(59);
ui->secondSpinBox->setMaximum(59);
folderPath = ""; folderPath = "";
} }
MainWindow::~MainWindow() MainWindow::~MainWindow() { delete ui; }
{
delete ui;
}
void MainWindow::ReadDat(QString fileName) void MainWindow::ReadDat(QString fileName) {
{
int year = ui->yearSpinBox->value(); int year = ui->yearSpinBox->value();
int month = ui->monthSpinBox->value(); int month = ui->monthSpinBox->value();
int day = ui->daySpinBox->value(); int day = ui->daySpinBox->value();
//转化为16进制 int hour = ui->hourSpinBox->value();
int minute = ui->minuteSpinBox->value();
int second = ui->secondSpinBox->value();
QTime time(hour, minute, second);
QDate date(year + 2000, month, day);
QDateTime targetTime(date, time);
// 转化为16进制
uint8_t hexYear = IntToHex(year); uint8_t hexYear = IntToHex(year);
uint8_t hexMonth = IntToHex(month); uint8_t hexMonth = IntToHex(month);
uint8_t hexDay = IntToHex(day); uint8_t hexDay = IntToHex(day);
uint8_t hexHour = IntToHex(hour);
uint8_t hexMinute = IntToHex(minute);
uint8_t hexSecond = IntToHex(second);
//QString filename = outputDir+"/"+fileName; // QString filename = outputDir+"/"+fileName;
// // 一个示例日期年月日分别为2023年、12月、3日 // // 一个示例日期年月日分别为2023年、12月、3日
// QDate date(year+2000, month, day); // QDate date(year+2000, month, day);
// // 将日期格式化为yymmdd // // 将日期格式化为yymmdd
@ -46,9 +53,10 @@ void MainWindow::ReadDat(QString fileName)
// f2.remove(0,11+8); // f2.remove(0,11+8);
// QString str = f1+formattedDate+f2; // QString str = f1+formattedDate+f2;
QString outputFileName = GetOutputFileName(fileName,year,month,day); QString outputFileName =
//创建修改后的dat文件 GetOutputFileName(fileName, year, month, day, hour, minute, second);
QFile writeFile(outputDir+"/"+outputFileName); // 创建修改后的dat文件
QFile writeFile(outputDir + "/" + outputFileName);
QDataStream outStream; QDataStream outStream;
if (writeFile.open(QIODevice::WriteOnly)) { if (writeFile.open(QIODevice::WriteOnly)) {
// 创建数据流,用于写入二进制数据 // 创建数据流,用于写入二进制数据
@ -59,98 +67,107 @@ void MainWindow::ReadDat(QString fileName)
int len = 265; int len = 265;
quint8 *data = new quint8[len]; quint8 *data = new quint8[len];
QFile file1 = QFile(folderPath+"/"+fileName); QFile file1 = QFile(folderPath + "/" + fileName);
//QFile file1 = QFile("E:\\dat\\output\\下行遥测_0_1_0_20230619230109.dat"); // QFile file1 = QFile("E:\\dat\\output\\下行遥测_0_1_0_20230619230109.dat");
file1.open(QIODevice::ReadOnly); file1.open(QIODevice::ReadOnly);
QDataStream readStream = QDataStream(&file1); QDataStream readStream = QDataStream(&file1);
readStream.setVersion(QDataStream::Qt_5_15); //设置数据流的版本 readStream.setVersion(QDataStream::Qt_5_15); // 设置数据流的版本
readStream.setByteOrder(QDataStream::LittleEndian); readStream.setByteOrder(QDataStream::LittleEndian);
int i =0; int i = 0;
quint8* content = new quint8[28]; //创建一个28字节的数据缓冲区 quint8 *content = new quint8[28]; // 创建一个28字节的数据缓冲区
// int sub1 = 0; // int sub1 = 0;
// int sub2 = 0; // int sub2 = 0;
while(!readStream.atEnd()) bool bFirstTime = true;
{ qint64 offsetTime = 0;
readStream.readRawData((char *)data, len); //读取一帧 while (!readStream.atEnd()) {
readStream.readRawData((char *)data, len); // 读取一帧
QTime time(data[5], data[6], data[7]);
QDate date(int(data[2]) + 2000, data[3], data[4]);
QDateTime curTime(date, time);
if (bFirstTime) {
offsetTime = curTime.secsTo(targetTime);
bFirstTime = false;
}
QTime tmp0 = curTime.time();
curTime = curTime.addSecs(offsetTime);
QTime tmp1 = curTime.time();
// i++; // i++;
//四个子帧解析 // 四个子帧解析
// int id1 = 16; // int id1 = 16;
// int id2 = id1+32; // int id2 = id1+32;
// int id3 = id2+32; // int id3 = id2+32;
// int id4 = id3+32; // int id4 = id3+32;
int startID = 16; int startID = 16;
for (int var = 0; var < 4; ++var) { for (int var = 0; var < 4; ++var) {
startID = 16 + 32*var; startID = 16 + 32 * var;
// if(data[startID]!=0x23)
// qDebug()<<"************Zhen1:"<<data[startID];
// if(data[startID+1]!=0x23)
// qDebug()<<"************Zhen2:"<<data[startID];
quint8 zhenID = data[startID+4];
if(zhenID==0x87 || zhenID==0x89 || zhenID==0x8A)
{
// if(data[startID+17]==0x01)
// {
// //quint32 ss = quint32(data[startID+25] | (data[startID+26]<<8) | (data[startID+27]<<16) | (data[startID+28]<<24))*0.001;
// //qDebug()<<"************SS:"<<ss;
// quint8 vid = quint8(data[startID+29]);
// //qDebug()<<"************vid1:"<<vid;
// }
if(data[startID+17]==0x02) //子帧2 quint8 zhenID = data[startID + 4];
if (zhenID == 0x87 || zhenID == 0x89 || zhenID == 0x8A) {
if (data[startID + 17] == 0x02) // 子帧2
{ {
// quint8 d = quint8(data[startID+18]); // QTime time(data[startID + 21], data[startID + 22],
// quint8 m = quint8(data[startID+19]); // data[startID + 23]);
//quint8 y = quint8(data[startID+20]); // QDate date(int(data[startID + 20]) + 2000, data[startID + 19],
//qDebug()<<"************Year:"<<y; // data[startID + 18]);
// int a = 1; // QDateTime tmpTime(date, time);
// tmpTime = tmpTime.addSecs(offsetTime);
//修改UTC年月日数据 // 修改UTC年月日数据
if(hexDay>0) if (hexDay > 0)
data[startID+18] = hexDay; data[startID + 18] = hexDay;
if(hexMonth>0) if (hexMonth > 0)
data[startID+19] = hexMonth; data[startID + 19] = hexMonth;
if(hexYear>0) if (hexYear > 0)
data[startID+20] = hexYear; data[startID + 20] = hexYear;
//计算CRC16校验位 // // 修改UTC时分秒数据
for(int i=0;i<28;i++)//提取数据帧内容 // if (hexHour > 0)
// data[startID + 21] = IntToHex(tmpTime.time().hour());
// if (hexMinute > 0)
// data[startID + 22] = IntToHex(tmpTime.time().minute());
// if (hexSecond > 0)
// data[startID + 23] = IntToHex(tmpTime.time().second());
// 计算CRC16校验位
for (int i = 0; i < 28; i++) // 提取数据帧内容
{ {
content[i] = data[startID+2+i]; content[i] = data[startID + 2 + i];
} }
quint16 crc = GetCrcSum(content,28);//计算校验码 quint16 crc = GetCrcSum(content, 28); // 计算校验码
// 提取高位和低位 // 提取高位和低位
quint8 highByte = static_cast<quint8>((crc >> 8) & 0xFF); quint8 highByte = static_cast<quint8>((crc >> 8) & 0xFF);
quint8 lowByte = static_cast<quint8>(crc & 0xFF); quint8 lowByte = static_cast<quint8>(crc & 0xFF);
//修改CRC校验位 // 修改CRC校验位
data[startID+30] = lowByte; data[startID + 30] = lowByte;
data[startID+31] = highByte; data[startID + 31] = highByte;
} }
} }
} }
// bool b = data[16]==0x23;
// bool b1 = data[17]==0x23; // 修改系统时间戳
// bool b2 = data[18]==0x85; if (hexYear > 0)
//修改系统时间戳
if(hexYear>0)
data[2] = hexYear; data[2] = hexYear;
if(hexMonth>0) if (hexMonth > 0)
data[3] = hexMonth; data[3] = hexMonth;
if(hexDay>0) if (hexDay > 0)
data[4] = hexDay; data[4] = hexDay;
if (hexHour > 0)
//修改最后校验位 data[5] = IntToHex(curTime.time().hour());
data[len-1] = GetDataCheckCRC(data,len); if (hexMinute > 0)
data[6] = IntToHex(curTime.time().minute());
//写入文件 if (hexSecond > 0)
outStream.writeRawData((char *)data,len); data[7] = IntToHex(curTime.time().second());
// 修改最后校验位
data[len - 1] = GetDataCheckCRC(data, len);
// 写入文件
outStream.writeRawData((char *)data, len);
} }
file1.close(); file1.close();
writeFile.close(); writeFile.close();
qDebug()<<"*********************i:"<<i; // qDebug()<<"*********************i:"<<i;
} }
uint8_t MainWindow::IntToHex(int data) uint8_t MainWindow::IntToHex(int data) {
{
// 将十进制整数转换为十六进制表示 // 将十进制整数转换为十六进制表示
QByteArray hexData = QByteArray::number(data, 16); QByteArray hexData = QByteArray::number(data, 16);
// 将十六进制表示转换为 uint8_t 类型 // 将十六进制表示转换为 uint8_t 类型
@ -165,35 +182,31 @@ uint8_t MainWindow::IntToHex(int data)
CRC CRC
*******************************************************************************/ *******************************************************************************/
quint16 MainWindow::GetCrcSum(quint8 *dataptr, quint16 len) quint16 MainWindow::GetCrcSum(quint8 *dataptr, quint16 len) {
{
qint16 count = 0; qint16 count = 0;
quint8 C0 = 0,C1 = 0,Y0 = 0,Y1 = 0,Z0 = 0,Z1 = 0; quint8 C0 = 0, C1 = 0, Y0 = 0, Y1 = 0, Z0 = 0, Z1 = 0;
C0=C1=Y0=Y1=Z0=Z1=0; C0 = C1 = Y0 = Y1 = Z0 = Z1 = 0;
while(count < len) while (count < len) {
{ Y0 = (CRCLIST[2 * (*dataptr)] ^ C1) & 0x00FF;
Y0=(CRCLIST[2*(*dataptr)]^C1) & 0x00FF; Y1 = (CRCLIST[2 * (*dataptr) + 1]) & 0x00FF;
Y1=(CRCLIST[2*(*dataptr)+1]) & 0x00FF; Z0 = CRCLIST[2 * C0] & 0x00FF;
Z0=CRCLIST[2*C0] & 0x00FF; Z1 = CRCLIST[2 * C0 + 1] & 0x00FF;
Z1=CRCLIST[2*C0+1] & 0x00FF; C0 = (Y0 ^ Z0) & 0x00FF;
C0=(Y0^Z0) & 0x00FF; C1 = (Y1 ^ Z1) & 0x00FF;
C1=(Y1^Z1) & 0x00FF;
dataptr++; dataptr++;
count++; count++;
} }
return(C0+C1*256);/* return crc result */ return (C0 + C1 * 256); /* return crc result */
} }
quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len) quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len) {
{
quint8 sum = 0; quint8 sum = 0;
for(int i = 0;i<264;i++) for (int i = 0; i < 264; i++) {
{
sum += quint8(dataptr[i]); sum += quint8(dataptr[i]);
} }
return quint8(~(sum & 0xFF)+1); return quint8(~(sum & 0xFF) + 1);
} }
/** /**
@ -202,8 +215,7 @@ quint8 MainWindow::GetDataCheckCRC(quint8 *dataptr, quint16 len)
* @param year * @param year
* @return truefalse * @return truefalse
*/ */
bool MainWindow::isLeapYear(int year) bool MainWindow::isLeapYear(int year) {
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true; return true;
} else { } else {
@ -219,8 +231,7 @@ bool MainWindow::isLeapYear(int year)
* @param day * @param day
* @return truefalse * @return truefalse
*/ */
bool MainWindow::isValidDay(int year, int month, int day) bool MainWindow::isValidDay(int year, int month, int day) {
{
if (month == 2) { if (month == 2) {
if (isLeapYear(year)) { if (isLeapYear(year)) {
if (day >= 1 && day <= 29) { if (day >= 1 && day <= 29) {
@ -243,31 +254,40 @@ bool MainWindow::isValidDay(int year, int month, int day)
return false; return false;
} }
QString MainWindow::GetOutputFileName(QString fileName, int year, int month,
QString MainWindow::GetOutputFileName(QString fileName,int year, int month, int day) int day, int hour, int minute,
{ int second) {
//QString str = "下行遥测_0_17_0_20221114024453.dat"; // QString str = "下行遥测_0_17_0_20221114024453.dat";
QStringList strList = fileName.split("_"); QStringList strList = fileName.split("_");
QString endstr = strList.constLast(); QString endstr = strList.constLast();
QString lastStr = endstr.mid(8,-1); QString lastStr = endstr.mid(14, -1);
if(year==0) if (year == 0)
year = endstr.mid(0,4).toInt()-2000; year = endstr.mid(0, 4).toInt() - 2000;
//QString year0 = endstr.mid(0,4); // QString year0 = endstr.mid(0,4);
if(month==0) if (month == 0)
month = endstr.mid(4,2).toInt(); month = endstr.mid(4, 2).toInt();
if(day==0) if (day == 0)
day = endstr.mid(6,2).toInt(); day = endstr.mid(6, 2).toInt();
// QString month = endstr.mid(4,2); // QString month = endstr.mid(4,2);
// QString day = endstr.mid(6,2); // QString day = endstr.mid(6,2);
if (hour == 0)
hour = endstr.mid(8, 2).toInt();
if (minute == 0)
minute = endstr.mid(10, 2).toInt();
if (second == 0)
second = endstr.mid(12, 2).toInt();
// 一个示例日期年月日分别为2023年、12月、3日 // 一个示例日期年月日分别为2023年、12月、3日
QDate date(year+2000, month, day); QDate date(year + 2000, month, day);
// 将日期格式化为yymmdd // 将日期格式化为yymmdd
QString formattedDate = date.toString("yyyyMMdd"); QString formattedDate = date.toString("yyyyMMdd");
QTime time(hour, minute, second);
QString formattedTime = time.toString("hhmmss");
QString outputFileName = ""; QString outputFileName = "";
strList.removeLast(); strList.removeLast();
strList.append(formattedDate); strList.append(formattedDate + formattedTime);
outputFileName = strList.join("_") + lastStr; outputFileName = strList.join("_") + lastStr;
// for (int var = 0; var < strList.length()-2; ++var) { // for (int var = 0; var < strList.length()-2; ++var) {
// outputFileName += strList.at(var); // outputFileName += strList.at(var);
@ -275,8 +295,7 @@ QString MainWindow::GetOutputFileName(QString fileName,int year, int month, int
return outputFileName; return outputFileName;
} }
void MainWindow::on_openDirBtn_clicked() void MainWindow::on_openDirBtn_clicked() {
{
// 创建一个QFileDialog对象 // 创建一个QFileDialog对象
QFileDialog dialog; QFileDialog dialog;
@ -293,14 +312,12 @@ void MainWindow::on_openDirBtn_clicked()
} else { } else {
qDebug() << "User canceled the operation."; qDebug() << "User canceled the operation.";
} }
} }
void MainWindow::CreateDir() void MainWindow::CreateDir() {
{
// 创建一个QDir对象 // 创建一个QDir对象
QDir dir; QDir dir;
outputDir = folderPath+"/output"; outputDir = folderPath + "/output";
// 设置目录路径 // 设置目录路径
dir.setPath(outputDir); dir.setPath(outputDir);
@ -310,31 +327,26 @@ void MainWindow::CreateDir()
} else { } else {
qDebug() << "Failed to create folder."; qDebug() << "Failed to create folder.";
} }
//QDir directory(folderPath+"/output"); // QDir directory(folderPath+"/output");
} }
void MainWindow::on_startModifyBtn_clicked() {
void MainWindow::on_startModifyBtn_clicked()
{
int year = ui->yearSpinBox->value(); int year = ui->yearSpinBox->value();
int month = ui->monthSpinBox->value(); int month = ui->monthSpinBox->value();
int day = ui->daySpinBox->value(); int day = ui->daySpinBox->value();
if(year<=0&&month<=0&&day<=0) if (year <= 0 && month <= 0 && day <= 0) {
{ QMessageBox::information(NULL, "提示", "请设置要修改的年月日!!!");
QMessageBox::information(NULL,"提示","请设置要修改的年月日!!!");
return; return;
} }
if(folderPath=="") if (folderPath == "") {
{ QMessageBox::information(NULL, "提示", "请先设置文件夹!!!");
QMessageBox::information(NULL,"提示","请先设置文件夹!!!");
return; return;
} }
// 检查Day是否正确 // 检查Day是否正确
if(day>0 && !isValidDay(year+2000,month,day)) if (day > 0 && !isValidDay(year + 2000, month, day)) {
{ QMessageBox::information(NULL, "提示", "日期有误,请重新设置!!!");
QMessageBox::information(NULL,"提示","日期有误,请重新设置!!!");
return; return;
} }
@ -343,20 +355,17 @@ void MainWindow::on_startModifyBtn_clicked()
// 获取文件夹中的所有文件 // 获取文件夹中的所有文件
QStringList files = directory.entryList(QDir::Files); QStringList files = directory.entryList(QDir::Files);
int numFiles = files.length(); int numFiles = files.length();
if(numFiles==0) if (numFiles == 0) {
{ QMessageBox::information(NULL, "提示", "该文件夹没有dat文件!!!");
QMessageBox::information(NULL,"提示","该文件夹没有dat文件!!!");
return; return;
} }
//新建output文件夹 // 新建output文件夹
CreateDir(); CreateDir();
//开始处理 // 开始处理
for (int n = 0; n < numFiles; ++n) for (int n = 0; n < numFiles; ++n) {
{
ReadDat(files.at(n)); ReadDat(files.at(n));
} }
QMessageBox::information(NULL,"提示","处理结束!!!"); QMessageBox::information(NULL, "提示", "处理结束!!!");
} }

@ -10,8 +10,7 @@ class MainWindow;
} }
QT_END_NAMESPACE QT_END_NAMESPACE
class MainWindow : public QMainWindow class MainWindow : public QMainWindow {
{
Q_OBJECT Q_OBJECT
public: public:
@ -33,46 +32,56 @@ private:
bool isLeapYear(int year); bool isLeapYear(int year);
bool isValidDay(int year, int month, int day); bool isValidDay(int year, int month, int day);
QString GetOutputFileName(QString fileName,int year,int month,int day); QString GetOutputFileName(QString fileName, int year, int month, int day,
int hour, int minute, int second);
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
QString folderPath; QString folderPath;
QString outputDir; QString outputDir;
const quint8 CRCLIST[512]= const quint8 CRCLIST[512] = {
{ 0x0, 0x0, 0x89, 0x11, 0x12, 0x23, 0x9b, 0x32, 0x24, 0x46, 0xad, 0x57,
0x0,0x0,0x89,0x11,0x12,0x23,0x9b,0x32,0x24,0x46,0xad,0x57,0x36,0x65,0xbf,0x74, 0x36, 0x65, 0xbf, 0x74, 0x48, 0x8c, 0xc1, 0x9d, 0x5a, 0xaf, 0xd3, 0xbe,
0x48,0x8c,0xc1,0x9d,0x5a,0xaf,0xd3,0xbe,0x6c,0xca,0xe5,0xdb,0x7e,0xe9,0xf7,0xf8, 0x6c, 0xca, 0xe5, 0xdb, 0x7e, 0xe9, 0xf7, 0xf8, 0x81, 0x10, 0x8, 0x1,
0x81,0x10,0x8,0x1,0x93,0x33,0x1a,0x22,0xa5,0x56,0x2c,0x47,0xb7,0x75,0x3e,0x64, 0x93, 0x33, 0x1a, 0x22, 0xa5, 0x56, 0x2c, 0x47, 0xb7, 0x75, 0x3e, 0x64,
0xc9,0x9c,0x40,0x8d,0xdb,0xbf,0x52,0xae,0xed,0xda,0x64,0xcb,0xff,0xf9,0x76,0xe8, 0xc9, 0x9c, 0x40, 0x8d, 0xdb, 0xbf, 0x52, 0xae, 0xed, 0xda, 0x64, 0xcb,
0x2,0x21,0x8b,0x30,0x10,0x2,0x99,0x13,0x26,0x67,0xaf,0x76,0x34,0x44,0xbd,0x55, 0xff, 0xf9, 0x76, 0xe8, 0x2, 0x21, 0x8b, 0x30, 0x10, 0x2, 0x99, 0x13,
0x4a,0xad,0xc3,0xbc,0x58,0x8e,0xd1,0x9f,0x6e,0xeb,0xe7,0xfa,0x7c,0xc8,0xf5,0xd9, 0x26, 0x67, 0xaf, 0x76, 0x34, 0x44, 0xbd, 0x55, 0x4a, 0xad, 0xc3, 0xbc,
0x83,0x31,0xa,0x20,0x91,0x12,0x18,0x3,0xa7,0x77,0x2e,0x66,0xb5,0x54,0x3c,0x45, 0x58, 0x8e, 0xd1, 0x9f, 0x6e, 0xeb, 0xe7, 0xfa, 0x7c, 0xc8, 0xf5, 0xd9,
0xcb,0xbd,0x42,0xac,0xd9,0x9e,0x50,0x8f,0xef,0xfb,0x66,0xea,0xfd,0xd8,0x74,0xc9, 0x83, 0x31, 0xa, 0x20, 0x91, 0x12, 0x18, 0x3, 0xa7, 0x77, 0x2e, 0x66,
0x4,0x42,0x8d,0x53,0x16,0x61,0x9f,0x70,0x20,0x4,0xa9,0x15,0x32,0x27,0xbb,0x36, 0xb5, 0x54, 0x3c, 0x45, 0xcb, 0xbd, 0x42, 0xac, 0xd9, 0x9e, 0x50, 0x8f,
0x4c,0xce,0xc5,0xdf,0x5e,0xed,0xd7,0xfc,0x68,0x88,0xe1,0x99,0x7a,0xab,0xf3,0xba, 0xef, 0xfb, 0x66, 0xea, 0xfd, 0xd8, 0x74, 0xc9, 0x4, 0x42, 0x8d, 0x53,
0x85,0x52,0xc,0x43,0x97,0x71,0x1e,0x60,0xa1,0x14,0x28,0x5,0xb3,0x37,0x3a,0x26, 0x16, 0x61, 0x9f, 0x70, 0x20, 0x4, 0xa9, 0x15, 0x32, 0x27, 0xbb, 0x36,
0xcd,0xde,0x44,0xcf,0xdf,0xfd,0x56,0xec,0xe9,0x98,0x60,0x89,0xfb,0xbb,0x72,0xaa, 0x4c, 0xce, 0xc5, 0xdf, 0x5e, 0xed, 0xd7, 0xfc, 0x68, 0x88, 0xe1, 0x99,
0x6,0x63,0x8f,0x72,0x14,0x40,0x9d,0x51,0x22,0x25,0xab,0x34,0x30,0x6,0xb9,0x17, 0x7a, 0xab, 0xf3, 0xba, 0x85, 0x52, 0xc, 0x43, 0x97, 0x71, 0x1e, 0x60,
0x4e,0xef,0xc7,0xfe,0x5c,0xcc,0xd5,0xdd,0x6a,0xa9,0xe3,0xb8,0x78,0x8a,0xf1,0x9b, 0xa1, 0x14, 0x28, 0x5, 0xb3, 0x37, 0x3a, 0x26, 0xcd, 0xde, 0x44, 0xcf,
0x87,0x73,0xe,0x62,0x95,0x50,0x1c,0x41,0xa3,0x35,0x2a,0x24,0xb1,0x16,0x38,0x7, 0xdf, 0xfd, 0x56, 0xec, 0xe9, 0x98, 0x60, 0x89, 0xfb, 0xbb, 0x72, 0xaa,
0xcf,0xff,0x46,0xee,0xdd,0xdc,0x54,0xcd,0xeb,0xb9,0x62,0xa8,0xf9,0x9a,0x70,0x8b, 0x6, 0x63, 0x8f, 0x72, 0x14, 0x40, 0x9d, 0x51, 0x22, 0x25, 0xab, 0x34,
0x8,0x84,0x81,0x95,0x1a,0xa7,0x93,0xb6,0x2c,0xc2,0xa5,0xd3,0x3e,0xe1,0xb7,0xf0, 0x30, 0x6, 0xb9, 0x17, 0x4e, 0xef, 0xc7, 0xfe, 0x5c, 0xcc, 0xd5, 0xdd,
0x40,0x8,0xc9,0x19,0x52,0x2b,0xdb,0x3a,0x64,0x4e,0xed,0x5f,0x76,0x6d,0xff,0x7c, 0x6a, 0xa9, 0xe3, 0xb8, 0x78, 0x8a, 0xf1, 0x9b, 0x87, 0x73, 0xe, 0x62,
0x89,0x94,0x0,0x85,0x9b,0xb7,0x12,0xa6,0xad,0xd2,0x24,0xc3,0xbf,0xf1,0x36,0xe0, 0x95, 0x50, 0x1c, 0x41, 0xa3, 0x35, 0x2a, 0x24, 0xb1, 0x16, 0x38, 0x7,
0xc1,0x18,0x48,0x9,0xd3,0x3b,0x5a,0x2a,0xe5,0x5e,0x6c,0x4f,0xf7,0x7d,0x7e,0x6c, 0xcf, 0xff, 0x46, 0xee, 0xdd, 0xdc, 0x54, 0xcd, 0xeb, 0xb9, 0x62, 0xa8,
0xa,0xa5,0x83,0xb4,0x18,0x86,0x91,0x97,0x2e,0xe3,0xa7,0xf2,0x3c,0xc0,0xb5,0xd1, 0xf9, 0x9a, 0x70, 0x8b, 0x8, 0x84, 0x81, 0x95, 0x1a, 0xa7, 0x93, 0xb6,
0x42,0x29,0xcb,0x38,0x50,0xa,0xd9,0x1b,0x66,0x6f,0xef,0x7e,0x74,0x4c,0xfd,0x5d, 0x2c, 0xc2, 0xa5, 0xd3, 0x3e, 0xe1, 0xb7, 0xf0, 0x40, 0x8, 0xc9, 0x19,
0x8b,0xb5,0x2,0xa4,0x99,0x96,0x10,0x87,0xaf,0xf3,0x26,0xe2,0xbd,0xd0,0x34,0xc1, 0x52, 0x2b, 0xdb, 0x3a, 0x64, 0x4e, 0xed, 0x5f, 0x76, 0x6d, 0xff, 0x7c,
0xc3,0x39,0x4a,0x28,0xd1,0x1a,0x58,0xb,0xe7,0x7f,0x6e,0x6e,0xf5,0x5c,0x7c,0x4d, 0x89, 0x94, 0x0, 0x85, 0x9b, 0xb7, 0x12, 0xa6, 0xad, 0xd2, 0x24, 0xc3,
0xc,0xc6,0x85,0xd7,0x1e,0xe5,0x97,0xf4,0x28,0x80,0xa1,0x91,0x3a,0xa3,0xb3,0xb2, 0xbf, 0xf1, 0x36, 0xe0, 0xc1, 0x18, 0x48, 0x9, 0xd3, 0x3b, 0x5a, 0x2a,
0x44,0x4a,0xcd,0x5b,0x56,0x69,0xdf,0x78,0x60,0xc,0xe9,0x1d,0x72,0x2f,0xfb,0x3e, 0xe5, 0x5e, 0x6c, 0x4f, 0xf7, 0x7d, 0x7e, 0x6c, 0xa, 0xa5, 0x83, 0xb4,
0x8d,0xd6,0x4,0xc7,0x9f,0xf5,0x16,0xe4,0xa9,0x90,0x20,0x81,0xbb,0xb3,0x32,0xa2, 0x18, 0x86, 0x91, 0x97, 0x2e, 0xe3, 0xa7, 0xf2, 0x3c, 0xc0, 0xb5, 0xd1,
0xc5,0x5a,0x4c,0x4b,0xd7,0x79,0x5e,0x68,0xe1,0x1c,0x68,0xd,0xf3,0x3f,0x7a,0x2e, 0x42, 0x29, 0xcb, 0x38, 0x50, 0xa, 0xd9, 0x1b, 0x66, 0x6f, 0xef, 0x7e,
0xe,0xe7,0x87,0xf6,0x1c,0xc4,0x95,0xd5,0x2a,0xa1,0xa3,0xb0,0x38,0x82,0xb1,0x93, 0x74, 0x4c, 0xfd, 0x5d, 0x8b, 0xb5, 0x2, 0xa4, 0x99, 0x96, 0x10, 0x87,
0x46,0x6b,0xcf,0x7a,0x54,0x48,0xdd,0x59,0x62,0x2d,0xeb,0x3c,0x70,0xe,0xf9,0x1f, 0xaf, 0xf3, 0x26, 0xe2, 0xbd, 0xd0, 0x34, 0xc1, 0xc3, 0x39, 0x4a, 0x28,
0x8f,0xf7,0x6,0xe6,0x9d,0xd4,0x14,0xc5,0xab,0xb1,0x22,0xa0,0xb9,0x92,0x30,0x83, 0xd1, 0x1a, 0x58, 0xb, 0xe7, 0x7f, 0x6e, 0x6e, 0xf5, 0x5c, 0x7c, 0x4d,
0xc7,0x7b,0x4e,0x6a,0xd5,0x58,0x5c,0x49,0xe3,0x3d,0x6a,0x2c,0xf1,0x1e,0x78,0xf 0xc, 0xc6, 0x85, 0xd7, 0x1e, 0xe5, 0x97, 0xf4, 0x28, 0x80, 0xa1, 0x91,
}; 0x3a, 0xa3, 0xb3, 0xb2, 0x44, 0x4a, 0xcd, 0x5b, 0x56, 0x69, 0xdf, 0x78,
0x60, 0xc, 0xe9, 0x1d, 0x72, 0x2f, 0xfb, 0x3e, 0x8d, 0xd6, 0x4, 0xc7,
0x9f, 0xf5, 0x16, 0xe4, 0xa9, 0x90, 0x20, 0x81, 0xbb, 0xb3, 0x32, 0xa2,
0xc5, 0x5a, 0x4c, 0x4b, 0xd7, 0x79, 0x5e, 0x68, 0xe1, 0x1c, 0x68, 0xd,
0xf3, 0x3f, 0x7a, 0x2e, 0xe, 0xe7, 0x87, 0xf6, 0x1c, 0xc4, 0x95, 0xd5,
0x2a, 0xa1, 0xa3, 0xb0, 0x38, 0x82, 0xb1, 0x93, 0x46, 0x6b, 0xcf, 0x7a,
0x54, 0x48, 0xdd, 0x59, 0x62, 0x2d, 0xeb, 0x3c, 0x70, 0xe, 0xf9, 0x1f,
0x8f, 0xf7, 0x6, 0xe6, 0x9d, 0xd4, 0x14, 0xc5, 0xab, 0xb1, 0x22, 0xa0,
0xb9, 0x92, 0x30, 0x83, 0xc7, 0x7b, 0x4e, 0x6a, 0xd5, 0x58, 0x5c, 0x49,
0xe3, 0x3d, 0x6a, 0x2c, 0xf1, 0x1e, 0x78, 0xf};
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

@ -50,7 +50,7 @@
</rect> </rect>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
@ -76,7 +76,7 @@
</rect> </rect>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>12</number> <number>12</number>
@ -92,7 +92,7 @@
</rect> </rect>
</property> </property>
<property name="buttonSymbols"> <property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum> <enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>31</number> <number>31</number>
@ -124,6 +124,93 @@
<string>开始处理</string> <string>开始处理</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>220</x>
<y>110</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>秒:</string>
</property>
</widget>
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>20</x>
<y>110</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>时:</string>
</property>
</widget>
<widget class="QSpinBox" name="secondSpinBox">
<property name="geometry">
<rect>
<x>250</x>
<y>110</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>59</number>
</property>
</widget>
<widget class="QSpinBox" name="hourSpinBox">
<property name="geometry">
<rect>
<x>50</x>
<y>110</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>23</number>
</property>
</widget>
<widget class="QSpinBox" name="minuteSpinBox">
<property name="geometry">
<rect>
<x>150</x>
<y>110</y>
<width>50</width>
<height>28</height>
</rect>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::ButtonSymbols::NoButtons</enum>
</property>
<property name="maximum">
<number>59</number>
</property>
</widget>
<widget class="QLabel" name="label_6">
<property name="geometry">
<rect>
<x>120</x>
<y>110</y>
<width>31</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>分:</string>
</property>
</widget>
</widget> </widget>
</widget> </widget>
<resources/> <resources/>

@ -0,0 +1,2 @@
chcp 65001
"nmake.exe" %*

@ -0,0 +1,128 @@
/********************************************************************************
** Form generated from reading UI file 'mainwindow.ui'
**
** Created by: Qt User Interface Compiler version 5.15.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QLabel>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSpinBox>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
QPushButton *openDirBtn;
QLabel *label;
QSpinBox *yearSpinBox;
QLabel *label_2;
QSpinBox *monthSpinBox;
QSpinBox *daySpinBox;
QLabel *label_3;
QPushButton *startModifyBtn;
QLabel *label_4;
QLabel *label_5;
QSpinBox *secondSpinBox;
QSpinBox *hourSpinBox;
QSpinBox *minuteSpinBox;
QLabel *label_6;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(404, 181);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
openDirBtn = new QPushButton(centralwidget);
openDirBtn->setObjectName(QString::fromUtf8("openDirBtn"));
openDirBtn->setGeometry(QRect(80, 20, 92, 28));
label = new QLabel(centralwidget);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(20, 70, 31, 31));
yearSpinBox = new QSpinBox(centralwidget);
yearSpinBox->setObjectName(QString::fromUtf8("yearSpinBox"));
yearSpinBox->setGeometry(QRect(50, 70, 50, 28));
yearSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
label_2 = new QLabel(centralwidget);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(120, 70, 31, 31));
monthSpinBox = new QSpinBox(centralwidget);
monthSpinBox->setObjectName(QString::fromUtf8("monthSpinBox"));
monthSpinBox->setGeometry(QRect(150, 70, 50, 28));
monthSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
monthSpinBox->setMaximum(12);
daySpinBox = new QSpinBox(centralwidget);
daySpinBox->setObjectName(QString::fromUtf8("daySpinBox"));
daySpinBox->setGeometry(QRect(250, 70, 50, 28));
daySpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
daySpinBox->setMaximum(31);
label_3 = new QLabel(centralwidget);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setGeometry(QRect(220, 70, 31, 31));
startModifyBtn = new QPushButton(centralwidget);
startModifyBtn->setObjectName(QString::fromUtf8("startModifyBtn"));
startModifyBtn->setGeometry(QRect(200, 20, 92, 28));
label_4 = new QLabel(centralwidget);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setGeometry(QRect(220, 110, 31, 31));
label_5 = new QLabel(centralwidget);
label_5->setObjectName(QString::fromUtf8("label_5"));
label_5->setGeometry(QRect(20, 110, 31, 31));
secondSpinBox = new QSpinBox(centralwidget);
secondSpinBox->setObjectName(QString::fromUtf8("secondSpinBox"));
secondSpinBox->setGeometry(QRect(250, 110, 50, 28));
secondSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
secondSpinBox->setMaximum(31);
hourSpinBox = new QSpinBox(centralwidget);
hourSpinBox->setObjectName(QString::fromUtf8("hourSpinBox"));
hourSpinBox->setGeometry(QRect(50, 110, 50, 28));
hourSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
minuteSpinBox = new QSpinBox(centralwidget);
minuteSpinBox->setObjectName(QString::fromUtf8("minuteSpinBox"));
minuteSpinBox->setGeometry(QRect(150, 110, 50, 28));
minuteSpinBox->setButtonSymbols(QAbstractSpinBox::ButtonSymbols::NoButtons);
minuteSpinBox->setMaximum(12);
label_6 = new QLabel(centralwidget);
label_6->setObjectName(QString::fromUtf8("label_6"));
label_6->setGeometry(QRect(120, 110, 31, 31));
MainWindow->setCentralWidget(centralwidget);
retranslateUi(MainWindow);
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "MainWindow", nullptr));
openDirBtn->setText(QCoreApplication::translate("MainWindow", "\346\211\223\345\274\200\346\226\207\344\273\266\345\244\271", nullptr));
label->setText(QCoreApplication::translate("MainWindow", "\345\271\264\357\274\232", nullptr));
label_2->setText(QCoreApplication::translate("MainWindow", "\346\234\210\357\274\232", nullptr));
label_3->setText(QCoreApplication::translate("MainWindow", "\346\227\245\357\274\232", nullptr));
startModifyBtn->setText(QCoreApplication::translate("MainWindow", "\345\274\200\345\247\213\345\244\204\347\220\206", nullptr));
label_4->setText(QCoreApplication::translate("MainWindow", "\347\247\222\357\274\232", nullptr));
label_5->setText(QCoreApplication::translate("MainWindow", "\346\227\266\357\274\232", nullptr));
label_6->setText(QCoreApplication::translate("MainWindow", "\345\210\206\357\274\232", nullptr));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H
Loading…
Cancel
Save