Merge remote-tracking branch 'origin/master' into newClassify

newClassify
qushuai777 6 years ago
commit eafb8c0b0d

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<ConfigFile VendorName="Baumer" MajorVersion="2" MinorVersion="2" SubMinorVersion="0">
<FileVersion>2.2.0.0</FileVersion>
<Resend>
<Version>1</Version>
<Version1>
<!--Set the maximum number of resend requests per image (default 500)-->
<MaxResendsPerImage>500</MaxResendsPerImage>
<!--Set the maximum number of resend requests per packet (default 3)-->
<MaxResendsPerPacket>3</MaxResendsPerPacket>
<!--Set the number of packets to wait befor sending the first resend requests (default 0)-->
<FirstResendWaitPackets>0</FirstResendWaitPackets>
<!--Set the number of packets to wait befor sending the first resend requests if the camera sends the data over two physical links (default 20)-->
<FirstResendWaitPacketsDualLink>20</FirstResendWaitPacketsDualLink>
<!--Set the time in ms to wait befor sending the first resend requests (default 150)-->
<FirstResendWaitTime>150</FirstResendWaitTime>
<!--Set the number of packets to wait befor sending the next resend requests (default 20)-->
<NextResendWaitPackets>20</NextResendWaitPackets>
<!--Set the number of packets to wait befor sending the next resend requests if the camera sends the data over two physical links (default 20)-->
<NextResendWaitPacketsDualLink>20</NextResendWaitPacketsDualLink>
<!--Set the time in ms to wait befor sending the next resend requests (default 100)-->
<NextResendWaitTime>100</NextResendWaitTime>
</Version1>
</Resend>
<GVCP>
<!--Set Timeout (in ms) and number of retrys for control channel
0 = the pending timeout register of camera is used for control channel timeout (default)
1..60000 = timeout value
-->
<ControlChannelTimeout>0</ControlChannelTimeout>
<!--The number of retries of commands on the control channel before the GigE Producer stops sending any further commands
valid values: 0..4294967295 (0xffffffff)
default value: 3
-->
<ControlChannelRetries>3</ControlChannelRetries>
<!--After a failed command the control channel is locked, that means no further commands were transmitted. This feature controls this locking mechanism.
valid values: 1 - the GigE Producer locks the control channel after a failing command. No further command were transmitted.
0 - the GigE Producer doesn't lock the control channel after a failing command. All further commands were transmitted.
default value: 1
-->
<UseControlChannelLocking>1</UseControlChannelLocking>
<!--Set Timeout(in ms) and number of retrys for asynchron messages from the camera (if supported) -->
<MessageChannelTimeout>100</MessageChannelTimeout>
<MessageChannelRetries>2</MessageChannelRetries>
</GVCP>
<GEV>
<!--Maximum packet size for GigE transmission. This value is used as upper limitation for
automatic MTU (maximum transmission unit) detection. Set this value to 0 the MTU detection
uses the preferred maximum of 9000. The smallest possible value is 576 and the higest value is 16380.
If you set a value outside this range the preferred maximum of 9000 is used. (default 9000)
-->
<DeviceStreamChannelPacketSizeMax>9000</DeviceStreamChannelPacketSizeMax>
<!--
0 means enable automatic MTU (maximum transmission unit) detection. If you specify this value the
MTU detection is disabled and the value DeviceStreamChannelPacketSizeMax is ignored.
The specified value is used directly as packet size.
The smallest possible value is 576 and the higest value is 16380. If you set a value outside the range
the minimum packet size of 576 is used.
-->
<DeviceStreamChannelPacketSizeFix>0</DeviceStreamChannelPacketSizeFix>
</GEV>
<SYSTEM>
<IncreaseThreadPriority>0</IncreaseThreadPriority>
<IncreasePriorityClass>0</IncreasePriorityClass>
</SYSTEM>
</ConfigFile>
<!-- EOF -->

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<ConfigFile VendorName="Baumer" MajorVersion="2" MinorVersion="2" SubMinorVersion="0">
<FileVersion>2.2.0.0</FileVersion>
<U3V>
<!-- image buffer size for USB transmission -->
<U3VImageBufferSize>0x10000</U3VImageBufferSize>
<U3VMaxResponseDefaultTime>500</U3VMaxResponseDefaultTime>
<U3VMaxFifoSize>1024</U3VMaxFifoSize>
</U3V>
<SYSTEM>
<IncreaseThreadPriority>0</IncreaseThreadPriority>
<IncreasePriorityClass>0</IncreasePriorityClass>
</SYSTEM>
</ConfigFile>
<!-- EOF -->

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

@ -262,7 +262,7 @@
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Windows</SubSystem> <SubSystem>Windows</SubSystem>
<OutputFile>$(SolutionDir)..\runner13\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>$(SolutionDir)..\runner17\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation> <GenerateDebugInformation>false</GenerateDebugInformation>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Sql.lib;Qt5Widgets.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Sql.lib;Qt5Widgets.lib;%(AdditionalDependencies)</AdditionalDependencies>

@ -29,31 +29,24 @@
<translation>Password:</translation> <translation>Password:</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="67"/>
<source>用户名不能为空!!!</source> <source>用户名不能为空!!!</source>
<translation>The UserName cannot be empty!!!</translation> <translation type="vanished">The UserName cannot be empty!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="68"/>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="74"/>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="91"/>
<source>错误警告</source> <source>错误警告</source>
<translation>Error</translation> <translation type="vanished">Error</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="73"/>
<source>密码不能为空!!!</source> <source>密码不能为空!!!</source>
<translation>Password cant be empty!!!</translation> <translation type="vanished">Password cant be empty!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="81"/>
<source>登录成功</source> <source>登录成功</source>
<translation>Login Success</translation> <translation type="vanished">Login Success</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="90"/>
<source>密码错误!!!</source> <source>密码错误!!!</source>
<translation>Password Error!!!</translation> <translation type="vanished">Password Error!!!</translation>
</message> </message>
</context> </context>
<context> <context>
@ -97,19 +90,152 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../../src/userCtrl/QUserBase.h" line="34"/> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="74"/>
<source>Administrator</source> <source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#ff0000;&gt;用户名不能为空!!!&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation></translation> <translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="75"/>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="81"/>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="97"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="90"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="95"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="100"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="105"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="108"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="128"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="133"/>
<source>错误警告</source>
<translation type="unfinished">Error</translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="80"/>
<source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#ff0000;&gt;密码不能为空!!!&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="88"/>
<source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#00ff00;&gt;登录成功&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="96"/>
<source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#ff0000;&gt;密码错误!!!&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/>
<source>用户名不能为空!</source>
<translation type="unfinished">The UserName cannot be empty!!!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/>
<source>密码不能为空!</source>
<translation type="unfinished">Password cant be empty!!!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/>
<source>该用户已存在,请另起名字!!!!!</source>
<translation type="unfinished">This user already exists, please give another name!!!!!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/>
<source>两次输入的密码不一致,请重新输入密码!</source>
<translation type="unfinished">The passwords entered twice do not match, please re-enter the password!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="163"/>
<source>用户名</source>
<translation type="unfinished">UserName</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/>
<source>等级</source>
<translation type="unfinished">Level</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="44"/>
<source>未登录</source>
<translation type="unfinished">no login</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="90"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="128"/>
<source>你还没登录,请登录或请联系管理员!</source>
<translation type="unfinished">You are not logged in yet, please log in or contact the administrator!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/>
<source>你当前没有权限添加用户,请登录!</source>
<translation type="unfinished">You do not currently have permission to add users, please log in</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="63"/>
<source>添加新用户</source>
<translation type="unfinished">Add New User</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="75"/>
<source>%1 添加完成!!!</source>
<translation type="unfinished">%1 add complete!!!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="95"/>
<source>请选中你要删除的用户!</source>
<translation type="unfinished">Please select the user you want to delete!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="100"/>
<source>你当前没有权限删除root用户,请联系超超级管理员!</source>
<translation type="unfinished">You do not have permission to delete root user, please contact super super administrator!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="105"/>
<source>你当前没有权限删除自己的账户,请联系管理员!</source>
<translation type="unfinished">You currently do not have permission to delete your account, please contact the administrator!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="108"/>
<source>确定删除用户: %1 ?</source>
<translation type="unfinished">Sure to delete user: %1?</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="112"/>
<source>%1 已删除!</source>
<translation type="unfinished">%1 deleted!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="133"/>
<source>你没有选中需要修改的用户,请联系管理员!</source>
<translation type="unfinished">You did not select the user that needs to be modified, please contact the administrator!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserBase.h" line="35"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="138"/>
<source>operator</source> <source>修改用户信息</source>
<translation></translation> <translation type="unfinished">Modify UserInfo</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserBase.h" line="36"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="150"/>
<source>SuperRoot</source> <source>%1 修改完成!!!</source>
<translation></translation> <translation type="unfinished">%1 modification complete!!!</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="163"/>
<source>职位</source>
<translation type="unfinished">Post</translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="163"/>
<source>权限等级</source>
<translation type="unfinished">Level</translation>
</message> </message>
</context> </context>
<context> <context>
@ -160,32 +286,24 @@
<translation>Level:</translation> <translation>Level:</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/>
<source>错误警告</source> <source>错误警告</source>
<translation>Error</translation> <translation type="vanished">Error</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/>
<source>用户名不能为空!</source> <source>用户名不能为空!</source>
<translation>The UserName cannot be empty!!!</translation> <translation type="vanished">The UserName cannot be empty!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/>
<source>密码不能为空!</source> <source>密码不能为空!</source>
<translation>Password cant be empty!!!</translation> <translation type="vanished">Password cant be empty!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/>
<source>该用户已存在,请另起名字!!!!!</source> <source>该用户已存在,请另起名字!!!!!</source>
<translation>This user already exists, please give another name!!!!!</translation> <translation type="vanished">This user already exists, please give another name!!!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/>
<source>两次输入的密码不一致,请重新输入密码!</source> <source>两次输入的密码不一致,请重新输入密码!</source>
<translation>The passwords entered twice do not match, please re-enter the password!</translation> <translation type="vanished">The passwords entered twice do not match, please re-enter the password!</translation>
</message> </message>
</context> </context>
<context> <context>
@ -226,105 +344,76 @@
<translation>TextLabel</translation> <translation>TextLabel</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="161"/>
<source>用户名</source> <source>用户名</source>
<translation>UserName</translation> <translation type="vanished">UserName</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/>
<source>等级</source> <source>等级</source>
<translation>Level</translation> <translation type="vanished">Level</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="44"/>
<source>未登录</source> <source>未登录</source>
<translation>no login</translation> <translation type="vanished">no login</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="89"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="94"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="99"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="104"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="107"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="127"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="132"/>
<source>错误警告</source> <source>错误警告</source>
<translation>Error</translation> <translation type="vanished">Error</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="89"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="127"/>
<source>你还没登录,请登录或请联系管理员!</source> <source>你还没登录,请登录或请联系管理员!</source>
<translation>You are not logged in yet, please log in or contact the administrator!</translation> <translation type="vanished">You are not logged in yet, please log in or contact the administrator!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/>
<source>你当前没有权限添加用户,请登录!</source> <source>你当前没有权限添加用户,请登录!</source>
<translation>You do not currently have permission to add users, please log in</translation> <translation type="vanished">You do not currently have permission to add users, please log in</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="62"/>
<source>添加新用户</source> <source>添加新用户</source>
<translation>Add New User</translation> <translation type="vanished">Add New User</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="74"/>
<source>%1 添加完成!!!</source> <source>%1 添加完成!!!</source>
<translation>%1 add complete!!!</translation> <translation type="vanished">%1 add complete!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="94"/>
<source>请选中你要删除的用户!</source> <source>请选中你要删除的用户!</source>
<translation>Please select the user you want to delete!</translation> <translation type="vanished">Please select the user you want to delete!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="99"/>
<source>你当前没有权限删除root用户,请联系超超级管理员!</source> <source>你当前没有权限删除root用户,请联系超超级管理员!</source>
<translation>You do not have permission to delete root user, please contact super super administrator!</translation> <translation type="vanished">You do not have permission to delete root user, please contact super super administrator!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="104"/>
<source>你当前没有权限删除自己的账户,请联系管理员!</source> <source>你当前没有权限删除自己的账户,请联系管理员!</source>
<translation>You currently do not have permission to delete your account, please contact the administrator!</translation> <translation type="vanished">You currently do not have permission to delete your account, please contact the administrator!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="107"/>
<source>确定删除用户: %1 ?</source> <source>确定删除用户: %1 ?</source>
<translation>Sure to delete user: %1?</translation> <translation type="vanished">Sure to delete user: %1?</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="111"/>
<source>%1 已删除!</source> <source>%1 已删除!</source>
<translation>%1 deleted!</translation> <translation type="vanished">%1 deleted!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="132"/>
<source>你没有选中需要修改的用户,请联系管理员!</source> <source>你没有选中需要修改的用户,请联系管理员!</source>
<translation>You did not select the user that needs to be modified, please contact the administrator!</translation> <translation type="vanished">You did not select the user that needs to be modified, please contact the administrator!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="136"/>
<source>修改用户信息</source> <source>修改用户信息</source>
<translation>Modify UserInfo</translation> <translation type="vanished">Modify UserInfo</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="148"/>
<source>%1 修改完成!!!</source> <source>%1 修改完成!!!</source>
<translation>%1 modification complete!!!</translation> <translation type="vanished">%1 modification complete!!!</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="161"/>
<source>职位</source> <source>职位</source>
<translation>Post</translation> <translation type="vanished">Post</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="161"/>
<source>权限等级</source> <source>权限等级</source>
<translation>Level</translation> <translation type="vanished">Level</translation>
</message> </message>
</context> </context>
</TS> </TS>

@ -28,33 +28,6 @@
<source>密 码:</source> <source>密 码:</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="67"/>
<source>用户名不能为空!!!</source>
<translation></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="68"/>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="74"/>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="91"/>
<source>错误警告</source>
<translation></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="73"/>
<source>密码不能为空!!!</source>
<translation></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="81"/>
<source>登录成功</source>
<translation></translation>
</message>
<message>
<location filename="../../src/userCtrl/QLoginDlg.cpp" line="90"/>
<source>密码错误!!!</source>
<translation></translation>
</message>
</context> </context>
<context> <context>
<name>QLoginModify</name> <name>QLoginModify</name>
@ -97,233 +70,249 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="../../src/userCtrl/QUserBase.h" line="34"/>
<source>Administrator</source> <source>Administrator</source>
<translation>管理员</translation> <translation type="vanished">管理员</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserBase.h" line="35"/>
<source>operator</source> <source>operator</source>
<translation>操作员</translation> <translation type="vanished">操作员</translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserBase.h" line="36"/>
<source>SuperRoot</source> <source>SuperRoot</source>
<translation>超级管理员</translation> <translation type="vanished">超级管理员</translation>
</message> </message>
</context>
<context>
<name>QUserAddNew</name>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="14"/> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="74"/>
<source>QUserAddNew</source> <source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#ff0000;&gt;用户名不能为空!!!&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="39"/> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="75"/>
<source>确认</source> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="81"/>
<translation></translation> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="97"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="90"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="95"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="100"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="105"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="108"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="128"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="133"/>
<source>错误警告</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="52"/> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="80"/>
<source>取消</source> <source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#ff0000;&gt;密码不能为空!!!&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="69"/> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="88"/>
<source>设置默认密码</source> <source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#00ff00;&gt;登录成功&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="76"/> <location filename="../../src/userCtrl/QLoginDlg.cpp" line="96"/>
<source> 默认密码123456</source> <source>&lt;html&gt;&lt;head / &gt;&lt;body&gt;&lt;p&gt;&lt;span style = color:#ff0000;&gt;密码错误!!!&lt; / span&gt;&lt; / p&gt;&lt; / body&gt;&lt; / html&gt;</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="99"/> <location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/>
<source>密码输入:</source> <source>用户名不能为空!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="112"/> <location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/>
<source>密码确认:</source> <source>密码不能为空!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="135"/> <location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/>
<source>用户名:</source> <source>该用户已存在,请另起名字!!!!!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="148"/> <location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/>
<source>权限等级:</source> <source>两次输入的密码不一致,请重新输入密码!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="163"/>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/> <source>用户名</source>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/> <translation type="unfinished"></translation>
<source>错误警告</source>
<translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="71"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/>
<source>用户名不能为空!</source> <source>等级</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="76"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="44"/>
<source>密码不能为空!</source> <source>未登录</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="81"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/>
<source>该用户已存在,请另起名字!!!!!</source> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="90"/>
<translation></translation> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="128"/>
<source>你还没登录,请登录或请联系管理员!</source>
<translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserAddNew.cpp" line="86"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/>
<source>两次输入的密码不一致,请重新输入密码!</source> <source>你当前没有权限添加用户,请登录!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
</context>
<context>
<name>QUserManagerDlg</name>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="17"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="63"/>
<source>用户管理</source> <source>添加新用户</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="28"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="75"/>
<source>当前登录用户:</source> <source>%1 添加完成!!!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="41"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="95"/>
<source>UserName</source> <source>请选中你要删除的用户!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="82"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="100"/>
<source>修改</source> <source>你当前没有权限删除root用户,请联系超超级管理员!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="95"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="105"/>
<source>删除用户</source> <source>你当前没有权限删除自己的账户,请联系管理员!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="111"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="108"/>
<source>添加用户</source> <source>确定删除用户: %1 ?</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.ui" line="118"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="112"/>
<source>TextLabel</source> <source>%1 已删除!</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="133"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="161"/> <source>你没有选中需要修改的用户,请联系管理员!</source>
<source>用户名</source> <translation type="unfinished"></translation>
<translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="22"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="138"/>
<source>等级</source> <source>修改用户信息</source>
<translation></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="44"/> <location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="150"/>
<source>未登录</source> <source>%1 修改完成!!!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="163"/>
<source>职位</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="163"/>
<source>权限等级</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QUserAddNew</name>
<message>
<location filename="../../src/userCtrl/QUserAddNew.ui" line="14"/>
<source>QUserAddNew</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="39"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/> <source>确认</source>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="89"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="94"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="99"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="104"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="107"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="127"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="132"/>
<source>错误警告</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="53"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="52"/>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="89"/> <source>取消</source>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="127"/>
<source>你还没登录,请登录或请联系管理员!</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="58"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="69"/>
<source>你当前没有权限添加用户,请登录!</source> <source>设置默认密码</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="62"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="76"/>
<source>添加新用户</source> <source> 默认密码123456</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="74"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="99"/>
<source>%1 添加完成!!!</source> <source>密码输入:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="94"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="112"/>
<source>请选中你要删除的用户!</source> <source>密码确认:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="99"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="135"/>
<source>你当前没有权限删除root用户,请联系超超级管理员!</source> <source>用户名:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="104"/> <location filename="../../src/userCtrl/QUserAddNew.ui" line="148"/>
<source>你当前没有权限删除自己的账户,请联系管理员!</source> <source>权限等级:</source>
<translation></translation> <translation></translation>
</message> </message>
</context>
<context>
<name>QUserManagerDlg</name>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="107"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="17"/>
<source>确定删除用户: %1 ?</source> <source>用户管理</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="111"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="28"/>
<source>%1 已删除!</source> <source>当前登录用户:</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="132"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="41"/>
<source>你没有选中需要修改的用户,请联系管理员!</source> <source>UserName</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="136"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="82"/>
<source>修改用户信息</source> <source>修改</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="148"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="95"/>
<source>%1 修改完成!!!</source> <source>删除用户</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="161"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="111"/>
<source>职位</source> <source>添加用户</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../src/userCtrl/QUserManagerDlg.cpp" line="161"/> <location filename="../../src/userCtrl/QUserManagerDlg.ui" line="118"/>
<source>权限等级</source> <source>TextLabel</source>
<translation></translation> <translation></translation>
</message> </message>
</context> </context>

@ -112,21 +112,212 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/rastersdg20.cpp" line="131"/> <location filename="../../src/RasterSDG20/rastersdg20.cpp" line="135"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>򿪳ɹ<EFBFBD> </source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>򿪳ɹ<EFBFBD> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/rastersdg20.cpp" line="135"/> <location filename="../../src/RasterSDG20/rastersdg20.cpp" line="139"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/rastersdg20.cpp" line="141"/> <location filename="../../src/RasterSDG20/rastersdg20.cpp" line="145"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>رգ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>رգ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>Raster_Form</name>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="45"/>
<source>设备设置和测试</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="66"/>
<source>串口设备设置</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="72"/>
<source>串口名:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="85"/>
<source>查找设备</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="104"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;串口设备设置,在需要使用光栅采集数据的情况下使用,并且需要设置正确的设备端口号才能正常与光栅设备通讯,否则通讯会失败。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="120"/>
<source>波特率:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="140"/>
<source>串口打开状态</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="147"/>
<source>启动光栅采集数据功能</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="166"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="516"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="705"/>
<source>保存设置</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="179"/>
<source>打开串口</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="198"/>
<source>关闭串口</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="208"/>
<source>光栅数据采样</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="237"/>
<source>光栅未遮挡数:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="244"/>
<source>系统状态</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="314"/>
<source>光栅总数:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="327"/>
<source>63</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="369"/>
<source>被遮挡的起始位置:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="382"/>
<source>光栅遮挡数:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="449"/>
<source>轮毂数据标定</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="470"/>
<source>轮毂高度标定</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="491"/>
<source> 中值滤波比例:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="526"/>
<source>光栅最小数值:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="539"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="581"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="634"/>
<source>mm</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="555"/>
<source>高度测量标定</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="568"/>
<source>基准高度:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="591"/>
<source>光栅倍率:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="641"/>
<source> 采样容器大小:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="667"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Consolas&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;高度测量,是基于光栅数据能正常采集的情况下进行的。&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;轮毂高度计算公式:&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;高度=光栅遮挡数*光栅倍率+基准高度&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;光栅遮挡数:是有物品挡住光栅时,光栅采样返回的数据&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;光栅倍率:是光栅自身的精度,每一格光栅所代表的高度是多少&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;基准高度:是在光栅无法照射的地方的高度大小,需要用直尺直接测量光栅底部与流水线的最低平面的距离&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="686"/>
<source>轮毂直径标定曲率:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="692"/>
<source>B:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="712"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Consolas&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;直径标定曲率:是用于校准算法计算出的轮毂直径与实际轮毂直径用的&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;曲率=轮毂高度*k+B 计算曲率的前提是轮毂的高度数据必须准确(误差小)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="724"/>
<source>K:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="750"/>
<source>K:表示斜率,B:基准点,直径=高度*K+B</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>SWitchButton</name> <name>SWitchButton</name>
<message> <message>
@ -136,6 +327,74 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>muban</name>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="116"/>
<location filename="../../src/RasterSDG20/muban.cpp" line="118"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="117"/>
<location filename="../../src/RasterSDG20/muban.cpp" line="119"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>:%1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="193"/>
<source>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="194"/>
<source><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="214"/>
<source><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="221"/>
<source>ֹͣ<EFBFBD><EFBFBD>ѯ</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="222"/>
<source>5s<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ѯ</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="314"/>
<source>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="317"/>
<source>ϵͳ<EFBFBD><EFBFBD><EFBFBD>⵽<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="320"/>
<location filename="../../src/RasterSDG20/muban.cpp" line="323"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ѹƫ<EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="326"/>
<source>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Ԫû<EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/muban.cpp" line="329"/>
<source>ϵͳ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>myChart1</name> <name>myChart1</name>
<message> <message>

@ -112,21 +112,212 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/rastersdg20.cpp" line="131"/> <location filename="../../src/RasterSDG20/rastersdg20.cpp" line="135"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>򿪳ɹ<EFBFBD> </source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>򿪳ɹ<EFBFBD> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/rastersdg20.cpp" line="135"/> <location filename="../../src/RasterSDG20/rastersdg20.cpp" line="139"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/rastersdg20.cpp" line="141"/> <location filename="../../src/RasterSDG20/rastersdg20.cpp" line="145"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>رգ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%1 %2 <EFBFBD>رգ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>Raster_Form</name>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="45"/>
<source>设备设置和测试</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="66"/>
<source>串口设备设置</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="72"/>
<source>串口名:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="85"/>
<source>查找设备</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="104"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;串口设备设置,在需要使用光栅采集数据的情况下使用,并且需要设置正确的设备端口号才能正常与光栅设备通讯,否则通讯会失败。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="120"/>
<source>波特率:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="140"/>
<source>串口打开状态</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="147"/>
<source>启动光栅采集数据功能</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="166"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="516"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="705"/>
<source>保存设置</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="179"/>
<source>打开串口</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="198"/>
<source>关闭串口</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="208"/>
<source>光栅数据采样</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="237"/>
<source>光栅未遮挡数:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="244"/>
<source>系统状态</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="314"/>
<source>光栅总数:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="327"/>
<source>63</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="369"/>
<source>被遮挡的起始位置:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="382"/>
<source>光栅遮挡数:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="449"/>
<source>轮毂数据标定</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="470"/>
<source>轮毂高度标定</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="491"/>
<source> 中值滤波比例:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="526"/>
<source>光栅最小数值:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="539"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="581"/>
<location filename="../../src/RasterSDG20/Rester.ui" line="634"/>
<source>mm</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="555"/>
<source>高度测量标定</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="568"/>
<source>基准高度:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="591"/>
<source>光栅倍率:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="641"/>
<source> 采样容器大小:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="667"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Consolas&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;高度测量,是基于光栅数据能正常采集的情况下进行的。&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;轮毂高度计算公式:&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;高度=光栅遮挡数*光栅倍率+基准高度&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;光栅遮挡数:是有物品挡住光栅时,光栅采样返回的数据&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;光栅倍率:是光栅自身的精度,每一格光栅所代表的高度是多少&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;基准高度:是在光栅无法照射的地方的高度大小,需要用直尺直接测量光栅底部与流水线的最低平面的距离&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="686"/>
<source>轮毂直径标定曲率:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="692"/>
<source>B:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="712"/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Consolas&apos;; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;直径标定曲率:是用于校准算法计算出的轮毂直径与实际轮毂直径用的&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;曲率=轮毂高度*k+B 计算曲率的前提是轮毂的高度数据必须准确(误差小)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="724"/>
<source>K:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../src/RasterSDG20/Rester.ui" line="750"/>
<source>K:表示斜率,B:基准点,直径=高度*K+B</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>SWitchButton</name> <name>SWitchButton</name>
<message> <message>
@ -139,67 +330,67 @@
<context> <context>
<name>muban</name> <name>muban</name>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="120"/> <location filename="../../src/RasterSDG20/muban.cpp" line="116"/>
<location filename="../../src/RasterSDG20/muban.cpp" line="122"/> <location filename="../../src/RasterSDG20/muban.cpp" line="118"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%1 <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%1
</source> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="121"/> <location filename="../../src/RasterSDG20/muban.cpp" line="117"/>
<location filename="../../src/RasterSDG20/muban.cpp" line="123"/> <location filename="../../src/RasterSDG20/muban.cpp" line="119"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>:%1 <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>:%1
</source> </source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="225"/> <location filename="../../src/RasterSDG20/muban.cpp" line="193"/>
<source>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source> <source>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="226"/> <location filename="../../src/RasterSDG20/muban.cpp" line="194"/>
<source><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source> <source><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="247"/> <location filename="../../src/RasterSDG20/muban.cpp" line="214"/>
<source><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD></source> <source><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="254"/> <location filename="../../src/RasterSDG20/muban.cpp" line="221"/>
<source>ֹͣ<EFBFBD><EFBFBD>ѯ</source> <source>ֹͣ<EFBFBD><EFBFBD>ѯ</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="255"/> <location filename="../../src/RasterSDG20/muban.cpp" line="222"/>
<source>5s<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ѯ</source> <source>5s<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ѯ</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="364"/> <location filename="../../src/RasterSDG20/muban.cpp" line="314"/>
<source>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></source> <source>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="367"/> <location filename="../../src/RasterSDG20/muban.cpp" line="317"/>
<source>ϵͳ<EFBFBD><EFBFBD><EFBFBD>⵽<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source> <source>ϵͳ<EFBFBD><EFBFBD><EFBFBD>⵽<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="370"/> <location filename="../../src/RasterSDG20/muban.cpp" line="320"/>
<location filename="../../src/RasterSDG20/muban.cpp" line="373"/> <location filename="../../src/RasterSDG20/muban.cpp" line="323"/>
<source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ѹƫ<EFBFBD><EFBFBD></source> <source><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ѹƫ<EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="376"/> <location filename="../../src/RasterSDG20/muban.cpp" line="326"/>
<source>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Ԫû<EFBFBD><EFBFBD></source> <source>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>Ԫû<EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/RasterSDG20/muban.cpp" line="379"/> <location filename="../../src/RasterSDG20/muban.cpp" line="329"/>
<source>ϵͳ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></source> <source>ϵͳ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

@ -124,6 +124,7 @@ Q_SLOT void QCamSettingDlg::onButtonClicked()
if (m_pCoreCtl) if (m_pCoreCtl)
{ {
emTpColorFormat colorf = index == 0 ? TP_COLOR_Y800 : TP_COLOR_RGB32; emTpColorFormat colorf = index == 0 ? TP_COLOR_Y800 : TP_COLOR_RGB32;
m_pCoreCtl->ISetHeight(m_curCamKey, h); m_pCoreCtl->ISetHeight(m_curCamKey, h);
m_pCoreCtl->ISetWidth(m_curCamKey, w); m_pCoreCtl->ISetWidth(m_curCamKey, w);
//m_pCoreCtl->ISetPixelFormat(); //m_pCoreCtl->ISetPixelFormat();

@ -189,7 +189,7 @@
<item row="0" column="2"> <item row="0" column="2">
<widget class="QToolButton" name="toolButton"> <widget class="QToolButton" name="toolButton">
<property name="text"> <property name="text">
<string>...</string> <string>set</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -248,7 +248,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>...</string> <string>set</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -315,7 +315,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>...</string> <string>set</string>
</property> </property>
</widget> </widget>
</item> </item>

@ -820,6 +820,7 @@ Q_SLOT void QSystemSettingDlg::onSavePLCPara()
// QVariant nType = QVariant(WF_PLCPARA); // QVariant nType = QVariant(WF_PLCPARA);
// emit(sgGenalData(nType, WF_PARASET)); // emit(sgGenalData(nType, WF_PARASET));
// emit sgShowMsg(tr("数据已发送并保存")); // emit sgShowMsg(tr("数据已发送并保存"));
emit sgChangePLCParam();
} }
} }

@ -19,6 +19,7 @@ public:
void onShowWidget(int level); void onShowWidget(int level);
signals: signals:
void sgChangeLanguage(QString strLanguage); void sgChangeLanguage(QString strLanguage);
void sgChangePLCParam();
private: private:
bool InitTreeWidget(QTreeWidget* pTreewidget); bool InitTreeWidget(QTreeWidget* pTreewidget);
void addComRoot(class QTreeWidget *pTreewidget, QString strName /*= QString()*/); void addComRoot(class QTreeWidget *pTreewidget, QString strName /*= QString()*/);

@ -17,6 +17,7 @@
#include <QMenu> #include <QMenu>
#include "saveimgthread.h" #include "saveimgthread.h"
#include "lpGlobalData.h" #include "lpGlobalData.h"
#include "qpulpewidget.h"
#define VERSION_HUB "3.0.0.1" #define VERSION_HUB "3.0.0.1"
#define VERSION_ALG "3.0.0.1" #define VERSION_ALG "3.0.0.1"
#define UPDATE_TIME "2021-02-20" #define UPDATE_TIME "2021-02-20"
@ -144,6 +145,7 @@ lpMainWin::lpMainWin(QWidget *parent)
m_CamSettingDlg = new QCamSettingDlg(); m_CamSettingDlg = new QCamSettingDlg();
m_CamSettingDlg->setCoreCtrlPtr(m_pCoreCtrl); m_CamSettingDlg->setCoreCtrlPtr(m_pCoreCtrl);
connect(m_pSystemSettingDlg, SIGNAL(sgChangeLanguage(QString)), this, SLOT(onLanguageChange(QString))); connect(m_pSystemSettingDlg, SIGNAL(sgChangeLanguage(QString)), this, SLOT(onLanguageChange(QString)));
connect(m_pSystemSettingDlg, SIGNAL(sgChangePLCParam()), this, SLOT(onChangePLCParam()));
m_pixMapList = new QPixmapListBar(ui.tp_main_tabWidget); m_pixMapList = new QPixmapListBar(ui.tp_main_tabWidget);
ui.tp_main_tabWidget->insertTab(0, m_pixMapList, tr("历史")); ui.tp_main_tabWidget->insertTab(0, m_pixMapList, tr("历史"));
@ -215,16 +217,13 @@ lpMainWin::lpMainWin(QWidget *parent)
SendTiskTsk->start(); SendTiskTsk->start();
} }
if (DetectState::instance()->m_StartAndDetect == 1)//m_sysType 表示万丰科技的 //if (DetectState::instance()->m_StartAndDetect == 1)//m_sysType 表示万丰科技的
{ {
// m_timerDetect.setSingleShot(true); QTimer::singleShot(3000, [&](){
// connect(&m_timerDetect, SIGNAL(timeout()), m_pUi, SLOT(onStartDetect())); ui.btn_start_detect->setText(tr("停止检测"));
// m_timerDetect.start(5000); DetectState::instance()->IsDetect = true;
//QTimer::singleShot(1000, m_pUi, SLOT(onStartDetect())); m_pCtrl->onStart();
// QTimer::singleShot(3000, [&](){ });
// m_pState->bLockDetect = true;
// m_pCtrl->onStart();
// });
} }
if (DetectState::instance()->m_AutoSendTick2COM) if (DetectState::instance()->m_AutoSendTick2COM)
m_wfPulseTimer.start(1000); m_wfPulseTimer.start(1000);
@ -250,6 +249,7 @@ lpMainWin::lpMainWin(QWidget *parent)
} }
m_timerID = startTimer(1000); m_timerID = startTimer(1000);
//m_PulseTimer.start(1000);
} }
lpMainWin::~lpMainWin() lpMainWin::~lpMainWin()
@ -792,8 +792,7 @@ Q_SLOT void lpMainWin::onButtonClicked()
QString str = tr("按下了开始检测按钮,检测功能开启"); QString str = tr("按下了开始检测按钮,检测功能开启");
m_pCtrl->addLog(str, emTypeRunState); m_pCtrl->addLog(str, emTypeRunState);
//QTimer::singleShot(3000, [&](){m_pState->bLockDetect = true; }); DetectState::instance()->bLockDetect = true;
QTimer::singleShot(3000, this, SLOT(onChangeDetect()));
} }
else { else {
m_pCtrl->onFinish(); m_pCtrl->onFinish();
@ -1015,6 +1014,11 @@ Q_SLOT void lpMainWin::onTcpConnet(QString str, bool bConnect)
} }
} }
Q_SLOT void lpMainWin::onSendClearLib2PLC()
{
if (m_pNet)
m_pNet->sendClearLib();
}
Q_SLOT void lpMainWin::onClientConnect(QString addr, bool bConnect) Q_SLOT void lpMainWin::onClientConnect(QString addr, bool bConnect)
{ {
/*判断连接的机器IP地址是不是本地设置好的IP,并检测他的连接状态,如果是 默认将发送模板库给他*/ /*判断连接的机器IP地址是不是本地设置好的IP,并检测他的连接状态,如果是 默认将发送模板库给他*/
@ -1126,9 +1130,9 @@ Q_SLOT void lpMainWin::onTrigRecv(int m_value)
qWarning() << "recv a Triger signal from PLC:" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")"; qWarning() << "recv a Triger signal from PLC:" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")";
//if (m_pState)//如果是使用软件触发相机拍照 //if (m_pState)//如果是使用软件触发相机拍照
{ {
if (DetectState::instance()->m_CameraTrigeType == 0)//软件触发模式 //if (DetectState::instance()->m_CameraTrigeType == 0)//软件触发模式
{ {
if (DetectState::instance()->bLockDetect == true) { if (DetectState::instance()->IsDetect == true) {
//CC_Action(CC_AC_NEXT); //CC_Action(CC_AC_NEXT);
onTriggerCam(); onTriggerCam();
qWarning() << "soft ctrol camera :" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")"; qWarning() << "soft ctrol camera :" << "(" << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss zzz") << ")";
@ -1209,13 +1213,13 @@ Q_SLOT void lpMainWin::onGetImg()
//展示信息 //展示信息
Q_SLOT void lpMainWin::onShowMsg(QString str) Q_SLOT void lpMainWin::onShowMsg(QString str)
{ {
// QPulpewidget *pw = new QPulpewidget(); QPulpewidget *pw = new QPulpewidget();
// m_pw = pw; // m_pw = pw;
// QMainWindow *m_pDlgMain = nullptr;// GET_WIDGET_POINTER("MainWindow", QMainWindow); // QMainWindow *m_pDlgMain = nullptr;// GET_WIDGET_POINTER("MainWindow", QMainWindow);
// pw->setParent(m_pDlgMain); pw->setParent(this);
// pw->showmessage(str); pw->showmessage(str);
// connect(pw, SIGNAL(finished()), pw, SLOT(deleteLater())); connect(pw, SIGNAL(finished()), pw, SLOT(deleteLater()));
// connect(pw, SIGNAL(finished()), this, SLOT(onInitPW())); connect(pw, SIGNAL(finished()), this, SLOT(onInitPW()));
} }
Q_SLOT void lpMainWin::onSendDisLib(int nIndex, QString strModel) Q_SLOT void lpMainWin::onSendDisLib(int nIndex, QString strModel)
@ -1240,6 +1244,12 @@ Q_SLOT void lpMainWin::onTriggerCam()
} }
} }
Q_SLOT void lpMainWin::onChangePLCParam()
{
if(m_pNet)
m_pNet->sendTrigerPara(DetectState::instance()->m_PLC_TrigerFilter, DetectState::instance()->m_PLC_CamTrigDelay, DetectState::instance()->m_PLC_CamTrigPulse, DetectState::instance()->m_PLC_LightDelay, DetectState::instance()->m_PLC_TrigerType, DetectState::instance()->m_PLC_ResHoldTime);
}
void lpMainWin::onInitAbout() void lpMainWin::onInitAbout()
{ {
QString aboutString; QString aboutString;

@ -84,6 +84,7 @@ protected:
Q_SLOT void onUpdateDefect();//勾选 更新界面显示窗口 Q_SLOT void onUpdateDefect();//勾选 更新界面显示窗口
//net slot //net slot
Q_SLOT void onTcpConnet(QString str, bool bConnect); Q_SLOT void onTcpConnet(QString str, bool bConnect);
Q_SLOT void onSendClearLib2PLC();
Q_SLOT void onClientConnect(QString addr, bool bConnect); Q_SLOT void onClientConnect(QString addr, bool bConnect);
Q_SLOT void onThickness(double dValue); Q_SLOT void onThickness(double dValue);
Q_SLOT void onDetectStateRecv(int nIndex, int value); Q_SLOT void onDetectStateRecv(int nIndex, int value);
@ -107,7 +108,7 @@ protected:
Q_SLOT void onSendDisLibDone(); Q_SLOT void onSendDisLibDone();
Q_SLOT void onShowChannel(QString str); Q_SLOT void onShowChannel(QString str);
Q_SLOT void onTriggerCam(); Q_SLOT void onTriggerCam();
Q_SLOT void onChangePLCParam();
void onInitAbout(); void onInitAbout();
Q_SLOT void onLanguageChange(QString strLanguage); Q_SLOT void onLanguageChange(QString strLanguage);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1290,6 +1290,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="lpmain_en.ts" /> <None Include="lpmain_en.ts" />
<None Include="lpmain_zh.ts" />
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{A229CF5C-81EF-4909-AB6E-49C746F1ED4C}</ProjectGuid> <ProjectGuid>{A229CF5C-81EF-4909-AB6E-49C746F1ED4C}</ProjectGuid>

@ -1077,5 +1077,8 @@
<None Include="lpmain_en.ts"> <None Include="lpmain_en.ts">
<Filter>Translation Files</Filter> <Filter>Translation Files</Filter>
</None> </None>
<None Include="lpmain_zh.ts">
<Filter>Translation Files</Filter>
</None>
</ItemGroup> </ItemGroup>
</Project> </Project>
Loading…
Cancel
Save