diff --git a/Constant.py b/Constant.py index f34b14a..004f06f 100644 --- a/Constant.py +++ b/Constant.py @@ -4,6 +4,7 @@ position_accuracy = 0.05 manual_adjust_accuracy = 1 speed = 10 shake_speed = 20 +debug_speed=30 feedLine_set_section = 'FeedLine' feedLine_set_file = f'.{os.sep}Config{os.sep}feedLine.ini' set_ini = 'Seting.ini' diff --git a/MainWin.ui b/MainWin.ui index cc2a085..36d4b48 100644 --- a/MainWin.ui +++ b/MainWin.ui @@ -6,8 +6,8 @@ 0 0 - 887 - 559 + 969 + 673 @@ -65,6 +65,12 @@ + + + 0 + 0 + + QFrame::Shape::StyledPanel @@ -74,6 +80,12 @@ + + + 0 + 0 + + border-image: url(:/main/Image/title_ico.png) 0 0 0 0 strech; border-width: 5px 1px 3px 4px; @@ -89,6 +101,12 @@ border-style: solid; + + + 0 + 0 + + color: #DBF4F5; font: 700 12pt "Microsoft YaHei UI"; @@ -103,6 +121,12 @@ font: 700 12pt "Microsoft YaHei UI"; + + + 0 + 0 + + background-color: rgb(16, 21, 49); border: 1px solid #122041; @@ -134,6 +158,12 @@ border: 1px solid #122041; + + + 0 + 0 + + *{ @@ -143,6 +173,11 @@ font: 12pt "Microsoft YaHei UI"; border: 1px; padding:18px; +} +*:hover{ +color:#ffffff; +border-image: url(:/main/Image/backgroud_head_btn.jpg); +background-color: #1A3E79; } *:pressed { @@ -159,6 +194,12 @@ background-color: #1A3E79; + + + 0 + 0 + + *{ @@ -184,6 +225,12 @@ background-color: #1A3E79; + + + 0 + 0 + + *{ @@ -209,6 +256,12 @@ background-color: #1A3E79; + + + 0 + 0 + + *{ @@ -311,7 +364,7 @@ background-color: #1A3E79; QFrame::Shadow::Raised - + 0 @@ -333,10 +386,13 @@ background-color: #1A3E79; background-color: #0D1128; border: 1px solid #324C82; - + 8 + + QLayout::SizeConstraint::SetDefaultConstraint + 0 @@ -351,6 +407,12 @@ border: 1px solid #324C82; + + + 0 + 0 + + background-color: #0D1128; border: none; @@ -361,7 +423,7 @@ border: none; QFrame::Shadow::Raised - + 0 @@ -377,10 +439,10 @@ border: none; 0 - - + + - + 0 0 @@ -414,6 +476,12 @@ border: none; + + + 0 + 0 + + background-color: rgb(13, 17, 40); @@ -463,7 +531,7 @@ background-color: rgb(13, 17, 40); - + 0 @@ -495,7 +563,7 @@ border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg); - + 0 @@ -527,7 +595,7 @@ border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg); - + 0 @@ -554,12 +622,12 @@ border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg); - IO面板 + 基础设置 - + 0 @@ -626,10 +694,10 @@ border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg); 0 - + - + 0 0 @@ -726,58 +794,6 @@ background-color: rgb(13, 17, 40); 5 - - - - - 0 - 0 - - - - background-color: rgb(16, 31, 63); -color: rgb(255, 255, 255); - - - 设置1 - - - - - - - - 0 - 0 - - - - background-color: rgb(16, 31, 63); -color: rgb(255, 255, 255); - - - 设置2 - - - - - - - - 0 - 0 - - - - background-color: rgb(16, 31, 63); -color: rgb(255, 255, 255); -bord:1px #0D1128 - - - 设置3 - - - @@ -815,7 +831,7 @@ bord:1px #0D1128 0 - + 0 @@ -867,7 +883,7 @@ bord:1px #0D1128 0 - + border-image: url(:/main/Image/wait.png); @@ -880,6 +896,12 @@ bord:1px #0D1128 + + + 0 + 0 + + background-color: rgba(255, 255, 255, 0); border-image: None; @@ -1116,7 +1138,7 @@ border-image: None; - + 0 0 @@ -1126,10 +1148,28 @@ border-image: None; background-color: rgb(13, 17, 40); + + QTabWidget::TabShape::Rounded + - 0 + 1 + + + Qt::TextElideMode::ElideNone + + + true + + + false + + + false + + + 日志 @@ -1155,6 +1195,9 @@ background-color: rgb(13, 17, 40); + + + 报警 @@ -1209,6 +1252,44 @@ background-color: rgb(13, 17, 40); + + + color:#fff; +font: 290 9pt "Microsoft YaHei"; +font: 700 9pt "Microsoft YaHei UI"; + + + 连接状态: + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + + + + + 0 + 0 + + + + QLabel { + background-color: #A2EF4D; /* 设置背景颜色 */ + color: black; /* 设置字体颜色 */ + border-radius: 8px; /* 圆角半径设置为 QLabel 的一半,形成圆形 */ + border: 1px solid #A2EF4D; /* 设置边框颜色和宽度 */ + qproperty-alignment: 'AlignCenter'; /* 设置文本居中 */ +} + + + + + + + + color:#fff; @@ -1223,7 +1304,7 @@ font: 700 9pt "Microsoft YaHei UI"; - + @@ -1246,7 +1327,7 @@ font: 700 9pt "Microsoft YaHei UI"; - + color:#fff; @@ -1261,7 +1342,7 @@ font: 700 9pt "Microsoft YaHei UI"; - + @@ -1280,11 +1361,11 @@ font: 700 9pt "Microsoft YaHei UI"; - 自动 + 0 - + color:#fff; @@ -1299,7 +1380,7 @@ font: 700 9pt "Microsoft YaHei UI"; - + @@ -1318,11 +1399,11 @@ font: 700 9pt "Microsoft YaHei UI"; - 自动 + 0.0 - + color:#fff; @@ -1337,7 +1418,7 @@ font: 700 9pt "Microsoft YaHei UI"; - + @@ -1356,11 +1437,11 @@ font: 700 9pt "Microsoft YaHei UI"; - 自动 + 1 - + color:#fff; @@ -1375,7 +1456,7 @@ font: 700 9pt "Microsoft YaHei UI"; - + @@ -1394,7 +1475,7 @@ font: 700 9pt "Microsoft YaHei UI"; - 自动 + 200 @@ -2321,6 +2402,763 @@ background-color: #197971; + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + + + 0 + 0 + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + 0 + 0 + 424 + 41 + + + + + 0 + 0 + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + + color: rgb(255, 255, 255); + + + 全局速度: + + + + + + + + + + color: rgb(255, 255, 255); + + + 调试速度: + + + + + + + + + + + + 420 + 10 + 75 + 23 + + + + *{ +background-color: #2196F3; +font: 9pt "楷体"; +border:None; +} +*:pressed +{ +background-color: #499c8a; +} + + + + 保存设置 + + + false + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + background-color: rgb(85, 170, 255); + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color:rgb(85, 85, 255); +} + + + + + + + + + + + + + + + + + Qt::Orientation::Horizontal + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color:rgb(85, 85, 255); +} + + + + + + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color: rgb(255, 0, 0); +} + + + + + + + + + + + + + + font: 700 9pt "Microsoft YaHei UI"; + + + J5 + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color:rgb(85, 85, 255); +} + + + + + + + + + + + + + + 150 + + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color:rgb(85, 85, 255); +} + + + + + + + + + + + + + + + + + Qt::Orientation::Horizontal + + + + + + + + + + + + + + -150 + + + + + + + + + + -150 + + + + + + + font: 700 9pt "Microsoft YaHei UI"; + + + J1 + + + + + + + -150 + + + + + + + -150 + + + + + + + Qt::Orientation::Horizontal + + + + + + + 150 + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color: rgb(255, 0, 0); +} + + + + + + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color: rgb(255, 0, 0); +} + + + + + + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color:rgb(0, 255, 0); +} + + + + + + + + + + + + + + -150 + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color: rgb(255, 0, 0); +} + + + + + + + + + + + + + + *{ +background-color: #007AD9; +font: 12pt "楷体"; +border:6px solid #55AAFF; +color:#ffffff +} +*:pressed +{ +background-color: #499c8a; +} + + + + 确定移动 + + + + + + + Qt::Orientation::Horizontal + + + + + + + Qt::Orientation::Horizontal + + + + + + + +10 + + + + + + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color: rgb(255, 0, 0); +} + + + + + + + + + + + + + + 150 + + + + + + + + + + + + + + font: 700 9pt "Microsoft YaHei UI"; + + + J6 + + + + + + + + + + 150 + + + + + + + font: 700 9pt "Microsoft YaHei UI"; + + + J3 + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color:rgb(85, 85, 255); +} + + + + + + + + + + + + + + + + + + + + + -10 + + + + + + + + + + + + + + *{ +background-color: #E7EAEA; +border-radius: 10px; +font: 10pt "楷体"; +} +*:hover{ + background-color: rgb(85, 85, 255); +} +*:pressed{ + background-color: rgb(255, 0, 0); +} + + + + + + + + + + + + + + + + + + + + + font: 700 9pt "Microsoft YaHei UI"; + + + J2 + + + + + + + 调整间隔: + + + + + + + 150 + + + + + + + font: 700 9pt "Microsoft YaHei UI"; + + + J4 + + + + + + + Qt::Orientation::Horizontal + + + + + + + 1 + + + 0.001-20 + + + + + + + + + + + @@ -2463,24 +3301,49 @@ QComboBox QAbstractItemView { - - - QFrame::Shape::StyledPanel + + + border:none; - - QFrame::Shadow::Raised + + 0 - - - - - - 0 - 0 - - - - + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2492,22 +3355,22 @@ color:#ffffff background-color: red; color: white; } - - - 10 - - - - - - - - 0 - 0 - - - - + + + 10 + + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2519,22 +3382,22 @@ color:#ffffff background-color: red; color: white; } - - - 20 - - - - - - - - 0 - 0 - - - - + + + 20 + + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2546,22 +3409,22 @@ color:#ffffff background-color: red; color: white; } - - - 30 - - - - - - - - 0 - 0 - - - - + + + 30 + + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2573,22 +3436,22 @@ color:#ffffff background-color: red; color: white; } - - - 40 - - - - - - - - 0 - 0 - - - - + + + 40 + + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2600,22 +3463,22 @@ color:#ffffff background-color: red; color: white; } - - - 50 - - - - - - - - 0 - 0 - - - - + + + 50 + + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2627,32 +3490,32 @@ color:#ffffff background-color: red; color: white; } - - - 60 - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - + + + 60 + + + + + + + + 0 + 0 + + + + + + + + + 0 + 0 + + + + *{background-color: #101F3F; font: 10pt "楷体"; color:#ffffff @@ -2664,13 +3527,106 @@ color:#ffffff background-color: red; color: white; } - - - 确定 - - - - + + + 确定 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::Shape::StyledPanel + + + QFrame::Shadow::Raised + + + + + + + 0 + 0 + + + + *{ +background-color: #499C54; +font: 12pt "楷体"; +border: 1px solid #dcdfe6; +border-radius: 10px; +} +*:pressed +{ +background-color: #499c8a; +} + + + + 补一袋 + + + + + + + + + + + 0 + 0 + + + + *{ +background-color: rgb(255, 0, 0); +font: 12pt "楷体"; +border: 1px solid #dcdfe6; +border-radius: 10px; +} +*:pressed +{ +background-color: #499c8a; +} + + + + 扣一袋 + + + + + + + + + + + @@ -2974,7 +3930,7 @@ QSlider::sub-page:horizontal - + color: rgb(255, 0, 0); diff --git a/MvSDKLog/CamCtrl_00.log b/MvSDKLog/CamCtrl_00.log index c4909c8..d270505 100644 --- a/MvSDKLog/CamCtrl_00.log +++ b/MvSDKLog/CamCtrl_00.log @@ -4832,3 +4832,23 @@ Warning 2024-10-11 21:23:05:0729 DevID:Virtual USB3 Vision Source-Line:MvCamer Warning 2024-10-11 21:23:05:0729 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0996) ProcessName:python.exe(9244) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_VERSION] failed, Ret[0x80000001] Warning 2024-10-11 21:23:05:0729 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1000) ProcessName:python.exe(9244) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MANUFACTURER] failed, Ret[0x80000001] Warning 2024-10-11 21:23:05:0729 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1004) ProcessName:python.exe(9244) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_USER_DEFINED_NAME] failed, Ret[0x80000001] +Error 2024-10-22 23:02:58:0490 DevID: Source-Line:MvCameraControl.dll(OtherLoadLibrary.cpp-L0709) ProcessName:python.exe(12152) Description:[LoadSRAllFunctions]hSRModule is NULL, Ret[0x8000000c] +Warning 2024-10-22 23:02:58:0501 DevID: Source-Line:MvCameraControl.dll(GenTLLoadLibraryEx.cpp-L0345) ProcessName:python.exe(12152) Description:[LoadCtiLibInter]MV_GCSetConfigIntValue is NULL, CTI path[D:\environment\envs\UICreater\lib\site-packages\MvProducerVIR.dll] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0992) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MODEL] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0996) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_VERSION] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1000) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MANUFACTURER] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1004) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_USER_DEFINED_NAME] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0992) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MODEL] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0996) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_VERSION] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1000) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MANUFACTURER] failed, Ret[0x80000001] +Warning 2024-10-22 23:02:58:0505 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1004) ProcessName:python.exe(12152) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_USER_DEFINED_NAME] failed, Ret[0x80000001] +Error 2024-10-22 23:04:14:0525 DevID: Source-Line:MvCameraControl.dll(OtherLoadLibrary.cpp-L0709) ProcessName:python.exe(18896) Description:[LoadSRAllFunctions]hSRModule is NULL, Ret[0x8000000c] +Warning 2024-10-22 23:04:14:0527 DevID: Source-Line:MvCameraControl.dll(GenTLLoadLibraryEx.cpp-L0345) ProcessName:python.exe(18896) Description:[LoadCtiLibInter]MV_GCSetConfigIntValue is NULL, CTI path[D:\environment\envs\UICreater\lib\site-packages\MvProducerVIR.dll] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0992) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MODEL] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0996) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_VERSION] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1000) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MANUFACTURER] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual GigE Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1004) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_USER_DEFINED_NAME] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0992) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MODEL] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L0996) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_VERSION] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1000) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_MANUFACTURER] failed, Ret[0x80000001] +Warning 2024-10-22 23:04:14:0528 DevID:Virtual USB3 Vision Source-Line:MvCameraControl.dll(GenTLManager.cpp-L1004) ProcessName:python.exe(18896) Description:[GetInterfaceInfos]TLGetInterfaceInfo[INTERFACE_INFO_USER_DEFINED_NAME] failed, Ret[0x80000001] diff --git a/app.py b/app.py index f7b4dba..6776cd0 100644 --- a/app.py +++ b/app.py @@ -19,7 +19,6 @@ from CU.Command import FeedCommand from CU.Feeding import FeedLine, FeedingConfig, Feeding, FeedStatus from Util.util_log import QTextEditLogger from Vision.camera_coordinate_dete import Detection -from ui_untitled import Ui_MainWindow from COM.COM_Robot import RobotClient from Expection import Error_Code from queue import Queue @@ -30,6 +29,8 @@ from Model.Position import Real_Position, Detection_Position from threading import Thread from CU.Command import Status from Util.util_log import log +from ui_untitled import Ui_MainWindow + class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self): diff --git a/main.py b/main.py new file mode 100644 index 0000000..c577488 --- /dev/null +++ b/main.py @@ -0,0 +1,1050 @@ +import configparser +import json +import logging +import queue +import sys +from multiprocessing import Process + +from PyQt5.uic.properties import QtWidgets +from PySide6.QtCore import QThread, Signal, Slot, QObject, QEvent +from PySide6.QtGui import QIntValidator, QStandardItemModel, QStandardItem, Qt, QMovie +from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QHeaderView, QTableWidget, \ + QTableWidgetItem, QWidget, QHBoxLayout, QAbstractItemView, QMessageBox, QSizePolicy +from datetime import datetime + +import Util.util_pic +from Util.util_ini import writeFeedLine_to_ini +import Constant +from CU.Command import FeedCommand +from CU.Feeding import FeedLine, FeedingConfig, Feeding, FeedStatus +from Util.util_log import QTextEditLogger +from Vision.camera_coordinate_dete import Detection +from COM.COM_Robot import RobotClient +from Expection import Error_Code +from queue import Queue +from Model.RobotModel import * +import time +from queue import Queue +from Model.Position import Real_Position, Detection_Position +from threading import Thread +from CU.Command import Status +from Util.util_log import log +from ui_MainWin import Ui_MainWindow + + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self): + super(MainWindow, self).__init__() + self.setupUi(self) + + self.init_qss() + self.init_UI() + self.init_Run() + self.init_robot_info() + self.init_FeedLine() + self.start_Runing() + self.init_log() + + + + + def init_qss(self): + self.active_status_Qss = """ + + background-color: #A2EF4D; + color: #ffffff; + border-radius: 8px; + border: 1px solid #A2EF4D; + qproperty-alignment: 'AlignCenter'; + + """ + self.noActive_status_Qss = """ + + background-color: #FD3251; + color: #ffffff; + border-radius: 8px; + border: 1px solid #FD3251; + qproperty-alignment: 'AlignCenter'; + + """ + + self.active_label_sign_Qss = """ + + background-color: rgba(255, 255, 255, 0); + font: 700 12pt "Microsoft YaHei UI"; + color: red; + + + """ + self.active_btn_sign_Qss = """ + + background-color: rgb(255, 0, 0); + font: 9pt "楷体"; + border: 1px solid #dcdfe6; + border-radius: 5px; + + + + """ + self.noactive_label_sign_Qss = """ + + background-color: rgba(255, 255, 255, 0); + font: 700 12pt "Microsoft YaHei UI"; + color: #7A7A7A; + """ + self.noactive_btn_sign_Qss = """ + + background-color: #7A7A7A; + font: 9pt "楷体"; + border: 1px solid #dcdfe6; + border-radius: 5px; + + + """ + + def init_log(self): + log.init_log(self.textEdit_log_info, self.textEdit_log_error, Constant.log_file_path) + + + def init_UI(self): + self.pushButton_num1.clicked.connect(self.send_num_button_click) + self.pushButton_num2.clicked.connect(self.send_num_button_click) + self.pushButton_num3.clicked.connect(self.send_num_button_click) + self.pushButton_num4.clicked.connect(self.send_num_button_click) + self.pushButton_num5.clicked.connect(self.send_num_button_click) + self.pushButton_num6.clicked.connect(self.send_num_button_click) + self.pushButton_AddNum.clicked.connect(self.send_addNum_button_click) + self.pushButton_SubNum.clicked.connect(self.send_subNum_button_click) + self.lineEdit_j1.returnPressed.connect(self.send_position_returnPressed) + self.lineEdit_j2.returnPressed.connect(self.send_position_returnPressed) + self.lineEdit_j3.returnPressed.connect(self.send_position_returnPressed) + self.lineEdit_j4.returnPressed.connect(self.send_position_returnPressed) + self.lineEdit_j5.returnPressed.connect(self.send_position_returnPressed) + self.lineEdit_j6.returnPressed.connect(self.send_position_returnPressed) + + self.pushButton_j1_sub.clicked.connect(self.send_subOneAsix_button_click) + self.pushButton_j2_sub.clicked.connect(self.send_subOneAsix_button_click) + self.pushButton_j3_sub.clicked.connect(self.send_subOneAsix_button_click) + self.pushButton_j4_sub.clicked.connect(self.send_subOneAsix_button_click) + self.pushButton_j5_sub.clicked.connect(self.send_subOneAsix_button_click) + self.pushButton_j6_sub.clicked.connect(self.send_subOneAsix_button_click) + + self.pushButton_j1_add.clicked.connect(self.send_addOneAsix_button_click) + self.pushButton_j2_add.clicked.connect(self.send_addOneAsix_button_click) + self.pushButton_j3_add.clicked.connect(self.send_addOneAsix_button_click) + self.pushButton_j4_add.clicked.connect(self.send_addOneAsix_button_click) + self.pushButton_j5_add.clicked.connect(self.send_addOneAsix_button_click) + self.pushButton_j6_add.clicked.connect(self.send_addOneAsix_button_click) + + self.pushButton_stopFeed.clicked.connect(self.send_stopFeed_button_click) + self.pushButton_pauseFeed.clicked.connect(self.send_pauseFeed_button_click) + + self.pushButton_get_p1.clicked.connect(self.get_p1_button_click) + self.pushButton_get_p2.clicked.connect(self.get_p2_button_click) + self.pushButton_get_p3.clicked.connect(self.get_p3_button_click) + self.pushButton_set_p1.clicked.connect(self.set_p1_button_click) + self.pushButton_set_p2.clicked.connect(self.set_p2_button_click) + self.pushButton_set_p3.clicked.connect(self.set_p3_button_click) + + self.pushButton_clearAlarm.clicked.connect(self.send_clear_alarm_command) + self.pushButton_reset.clicked.connect(self.send_reset_button_click) + self.pushButton_speed.setText(str(Constant.speed)) + + self.pushButton_saveSeting.clicked.connect(self.send_setSpeed_clicked) + + self.pushButton_num_confirm.clicked.connect(self.send_custom_num_returnPressed) + + #self.tabWidget_control.currentChanged.connect(self.send_tabWidget_control_change) + + self.frame_sys_seting.setVisible(False) + self.pushButton_sysseting.clicked.connect(self.send_click_sysmeuExpand) + + self.pushButton_leftmenu_produce.clicked.connect(lambda _, index=0: self.send_click_change_stackView(index)) + self.pushButton_leftmenu_position.clicked.connect(lambda _, index=1: self.send_click_change_stackView(index)) + self.pushButton_leftmenu_baseSeting.clicked.connect(lambda _, index=2: self.send_click_change_stackView(index)) + self.pushButton_leftmenu_posDebug.clicked.connect(lambda _, index=3: self.send_click_change_stackView(index)) + + int_validator = QIntValidator(0, 100, self.lineEdit_num) + self.lineEdit_num.setValidator(int_validator) + + # self.horizontalSlider_J1.sliderReleased + self.pushButton_startFeed.clicked.connect(self.send_startFeed_button_click) + + + self.horizontalSlider_feedingNum.blockSignals(True) + self.horizontalSlider_feedingNum.setMinimum(0) + + + + + def init_Run(self): + self.robotClient = None + self.configReader = configparser.ConfigParser() + self.detection = Detection() + self.command_position_quene = Queue() + self.status_address = DataAddress() + self.feedLine_dict = {} + self.command_quene = Queue() + self.main_threading = None + + self.configReader.read(Constant.set_ini) + ip = self.configReader.get('Robot_Feed', 'IPAddress') + port = int(self.configReader.get('Robot_Feed', 'Port')) + photo_locs = [(int(self.configReader.get('Robot_Feed', 'photo_x1')), + int(self.configReader.get('Robot_Feed', 'photo_y1')), int(self.configReader.get('Robot_Feed', 'photo_z1'))), + (int(self.configReader.get('Robot_Feed', 'photo_x2')), + int(self.configReader.get('Robot_Feed', 'photo_y2')), int(self.configReader.get('Robot_Feed', 'photo_z2'))), + (int(self.configReader.get('Robot_Feed', 'photo_x3')), + int(self.configReader.get('Robot_Feed', 'photo_y3')),int(self.configReader.get('Robot_Feed', 'photo_z3'))) + ] + #dropDelay_time = int(self.configReader.get('Robot_Feed', 'dropDelay_time')) + self.robotClient = RobotClient(ip, port, photo_locs, self.command_position_quene, self.status_address) + self.feeding = Feeding(self.robotClient, self.detection) # 临时 + self.last_time = time.time() + + try: + self.robotClient.CreatConnect() + except: + self.set_label_status_style(False) + return Error_Code.SYS_NETERROR + if self.robotClient.connected: + return 0 + else: + return Error_Code.SYS_NETERROR + + def init_seting_frame(self): + + rows = len(self.feedLine_dict.keys()) + 1 + self.tableWidget_feedSeting.setRowCount(rows) + self.tableWidget_feedSeting.setColumnCount(20) + # 设置第一重表头的合并 (三列一组) + self.tableWidget_feedSeting_addtional_col_num = 2 + + self.tableWidget_feedSeting.setSpan(0, 0 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并前3列 + self.tableWidget_feedSeting.setSpan(0, 6 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并后3列 + self.tableWidget_feedSeting.setSpan(0, 12 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并后3列 + self.tableWidget_feedSeting.itemChanged.connect(self.send_tabelFeedSet_itemChanged) + + btn_safe = QPushButton("获取安全位置") + + widget_safe = QWidget() + layout_safe = QHBoxLayout() + layout_safe.addWidget(btn_safe) + # 调整布局的间距,使之更紧凑 + layout_safe.setContentsMargins(0, 0, 0, 0) + # 将布局设置到 QWidget 容器中 + widget_safe.setLayout(layout_safe) + + btn_photo = QPushButton("获取拍照位置") + widget_photo = QWidget() + layout_photo = QHBoxLayout() + layout_photo.addWidget(btn_photo) + # 调整布局的间距,使之更紧凑 + layout_photo.setContentsMargins(0, 0, 0, 0) + # 将布局设置到 QWidget 容器中 + widget_photo.setLayout(layout_photo) + + btn_feed = QPushButton("获取投料位置") + widget_feed = QWidget() + layout_feed = QHBoxLayout() + layout_feed.addWidget(btn_feed) + # 调整布局的间距,使之更紧凑 + layout_feed.setContentsMargins(0, 0, 0, 0) + # 将布局设置到 QWidget 容器中 + widget_feed.setLayout(layout_feed) + + btn_safe.clicked.connect(self.send_get_safe_position_button_click) + btn_photo.clicked.connect(self.send_get_photo_position_button_click) + btn_feed.clicked.connect(self.send_get_feed_position_button_click) + # 添加第一重表头项 + + self.tableWidget_feedSeting.setCellWidget(0, 0 + self.tableWidget_feedSeting_addtional_col_num, widget_safe) + self.tableWidget_feedSeting.setCellWidget(0, 6 + self.tableWidget_feedSeting_addtional_col_num, widget_photo) + self.tableWidget_feedSeting.setCellWidget(0, 12 + self.tableWidget_feedSeting_addtional_col_num, + widget_feed) # 设置在合并的第2组 + + self.tableWidget_feedSeting.setSelectionBehavior(QTableWidget.SelectRows) + self.tableWidget_feedSeting.setAutoScroll(True) + # 添加第二重表头 + self.tableWidget_feedSeting.setHorizontalHeaderLabels( + ['header', '线名', 'X1', 'Y1', 'Z1', 'U1', 'V1', 'W1', 'X2', 'Y2', 'Z2', 'U2', 'V2', 'W2', 'X3', 'Y3', 'Z3', + 'U3', 'V3', 'W3']) + + self.tableWidget_feedSeting.hideColumn(0) + # 填充数据行 + for row, (feed_line_key, feed_line) in enumerate(self.feedLine_dict.items()): + self.tableWidget_feedSeting.setItem(row + 1, 0, QTableWidgetItem(feed_line_key)) + self.tableWidget_feedSeting.setItem(row + 1, 1, QTableWidgetItem(feed_line.name)) + self.set_position_to_tabel(row + 1, 0, feed_line.safe_position) + self.set_position_to_tabel(row + 1, 1, feed_line.photo_position) + self.set_position_to_tabel(row + 1, 2, feed_line.feed_position) + + # 禁用自动表头 + self.tableWidget_feedSeting.verticalHeader().setVisible(True) + self.pushButton_tableFeedSet_addRow.clicked.connect(self.send_tabelFeedSet_addRow) + self.pushButton_tableFeedSet_deleRow.clicked.connect(self.send_tabelFeedSet_delRow) + self.pushButton_tableFeedSet_save.clicked.connect(self.send_tabelFeedSet_save) + + def init_FeedLine(self): + line_count = self.configReader.get('Robot_Feed', 'LineCount', fallback=0) + self.configReader.read(Constant.feedLine_set_file, encoding='utf-8') + for i in range(int(line_count)): + line_str = f'FeedLine{i + 1}' + safe_position = Real_Position() + photo_position = Real_Position() + mid_position = Real_Position() + broken_position1 = Real_Position() + broken_position2 = Real_Position() + feed_position = Real_Position() + dropBag_position = Real_Position() + zipBag_poistion = Real_Position() + + + safe_position.X = float(self.configReader.get(line_str, 'SafePosition_x', fallback=0)) + safe_position.Y = float(self.configReader.get(line_str, 'SafePosition_y', fallback=0)) + safe_position.Z = float(self.configReader.get(line_str, 'SafePosition_z', fallback=0)) + safe_position.U = float(self.configReader.get(line_str, 'SafePosition_u', fallback=0)) + safe_position.V = float(self.configReader.get(line_str, 'SafePosition_v', fallback=0)) + safe_position.W = float(self.configReader.get(line_str, 'SafePosition_w', fallback=0)) + + photo_position.X = float(self.configReader.get(line_str, 'PhotoPosition_x', fallback=0)) + photo_position.Y = float(self.configReader.get(line_str, 'PhotoPosition_y', fallback=0)) + photo_position.Z = float(self.configReader.get(line_str, 'PhotoPosition_z', fallback=0)) + photo_position.U = float(self.configReader.get(line_str, 'PhotoPosition_u', fallback=0)) + photo_position.V = float(self.configReader.get(line_str, 'PhotoPosition_v', fallback=0)) + photo_position.W = float(self.configReader.get(line_str, 'PhotoPosition_w', fallback=0)) + + mid_position.X = float(self.configReader.get(line_str, 'MidPosition_x', fallback=0)) + mid_position.Y = float(self.configReader.get(line_str, 'MidPosition_y', fallback=0)) + mid_position.Z = float(self.configReader.get(line_str, 'MidPosition_z', fallback=0)) + mid_position.U = float(self.configReader.get(line_str, 'MidPosition_u', fallback=0)) + mid_position.V = float(self.configReader.get(line_str, 'MidPosition_v', fallback=0)) + mid_position.W = float(self.configReader.get(line_str, 'MidPosition_w', fallback=0)) + + broken_position1.X = float(self.configReader.get(line_str, 'BrokenPosition_x', fallback=0)) + broken_position1.Y = float(self.configReader.get(line_str, 'BrokenPosition_y', fallback=0)) + broken_position1.Z = float(self.configReader.get(line_str, 'BrokenPosition_z', fallback=0)) + broken_position1.U = float(self.configReader.get(line_str, 'BrokenPosition_u', fallback=0)) + broken_position1.V = float(self.configReader.get(line_str, 'BrokenPosition_v', fallback=0)) + broken_position1.W = float(self.configReader.get(line_str, 'BrokenPosition_w', fallback=0)) + broken_position2.X = float(self.configReader.get(line_str, 'BrokenPosition2_x', fallback=0)) + broken_position2.Y = float(self.configReader.get(line_str, 'BrokenPosition2_y', fallback=0)) + broken_position2.Z = float(self.configReader.get(line_str, 'BrokenPosition2_z', fallback=0)) + broken_position2.U = float(self.configReader.get(line_str, 'BrokenPosition2_u', fallback=0)) + broken_position2.V = float(self.configReader.get(line_str, 'BrokenPosition2_v', fallback=0)) + broken_position2.W = float(self.configReader.get(line_str, 'BrokenPosition2_w', fallback=0)) + + dropBag_position.X = float(self.configReader.get(line_str, 'DropBagPosition_x', fallback=0)) + dropBag_position.Y = float(self.configReader.get(line_str, 'DropBagPosition_y', fallback=0)) + dropBag_position.Z = float(self.configReader.get(line_str, 'DropBagPosition_z', fallback=0)) + dropBag_position.U = float(self.configReader.get(line_str, 'DropBagPosition_u', fallback=0)) + dropBag_position.V = float(self.configReader.get(line_str, 'DropBagPosition_v', fallback=0)) + dropBag_position.W = float(self.configReader.get(line_str, 'DropBagPosition_w', fallback=0)) + zipBag_poistion.X = float(self.configReader.get(line_str, 'ZipBagPosition_x', fallback=0)) + zipBag_poistion.Y = float(self.configReader.get(line_str, 'ZipBagPosition_y', fallback=0)) + zipBag_poistion.Z = float(self.configReader.get(line_str, 'ZipBagPosition_z', fallback=0)) + zipBag_poistion.U = float(self.configReader.get(line_str, 'ZipBagPosition_u', fallback=0)) + zipBag_poistion.V = float(self.configReader.get(line_str, 'ZipBagPosition_v', fallback=0)) + zipBag_poistion.W = float(self.configReader.get(line_str, 'ZipBagPosition_w', fallback=0)) + + + feed_position.X = float(self.configReader.get(line_str, 'FeedPosition_x', fallback=0)) + feed_position.Y = float(self.configReader.get(line_str, 'FeedPosition_y', fallback=0)) + feed_position.Z = float(self.configReader.get(line_str, 'FeedPosition_z', fallback=0)) + feed_position.U = float(self.configReader.get(line_str, 'FeedPosition_u', fallback=0)) + feed_position.V = float(self.configReader.get(line_str, 'FeedPosition_v', fallback=0)) + feed_position.W = float(self.configReader.get(line_str, 'FeedPosition_w', fallback=0)) + + + + name = self.configReader.get(line_str, 'Name', fallback='未命名') + self.feedLine_dict[f'{Constant.feedLine_set_section}{i + 1}'] = FeedLine(name, safe_position, + photo_position, mid_position, + broken_position1,broken_position2,dropBag_position,zipBag_poistion,feed_position) + self.init_seting_frame() + self.updateUI_Select_Line() + pass + + def init_robot_info(self): + j1_min = int(self.configReader.get('Robot_Feed', 'j1_min')) + j1_max = int(self.configReader.get('Robot_Feed', 'j1_max')) + j2_min = int(self.configReader.get('Robot_Feed', 'j2_min')) + j2_max = int(self.configReader.get('Robot_Feed', 'j2_max')) + j3_min = int(self.configReader.get('Robot_Feed', 'j3_min')) + j3_max = int(self.configReader.get('Robot_Feed', 'j3_max')) + j4_min = int(self.configReader.get('Robot_Feed', 'j4_min')) + j4_max = int(self.configReader.get('Robot_Feed', 'j4_max')) + j5_min = int(self.configReader.get('Robot_Feed', 'j5_min')) + j5_max = int(self.configReader.get('Robot_Feed', 'j5_max')) + j6_min = int(self.configReader.get('Robot_Feed', 'j6_min')) + j6_max = int(self.configReader.get('Robot_Feed', 'j6_max')) + self.horizontalSlider_J1.setMinimum(j1_min) + self.horizontalSlider_J1.setMaximum(j1_max) + self.horizontalSlider_J2.setMinimum(j2_min) + self.horizontalSlider_J2.setMaximum(j2_max) + self.horizontalSlider_J3.setMinimum(j3_min) + self.horizontalSlider_J3.setMaximum(j3_max) + self.horizontalSlider_J4.setMinimum(j4_min) + self.horizontalSlider_J4.setMaximum(j4_max) + self.horizontalSlider_J5.setMinimum(j5_min) + self.horizontalSlider_J5.setMaximum(j5_max) + self.horizontalSlider_J6.setMinimum(j6_min) + self.horizontalSlider_J6.setMaximum(j6_max) + self.label_j1_min.setText(j1_min.__str__()) + self.label_j1_max.setText(j1_max.__str__()) + self.label_j2_min.setText(j2_min.__str__()) + self.label_j2_max.setText(j2_max.__str__()) + self.label_j3_min.setText(j3_min.__str__()) + self.label_j3_max.setText(j3_max.__str__()) + self.label_j4_min.setText(j4_min.__str__()) + self.label_j4_max.setText(j4_max.__str__()) + self.label_j5_min.setText(j5_min.__str__()) + self.label_j5_max.setText(j5_max.__str__()) + self.label_j6_min.setText(j6_min.__str__()) + self.label_j6_max.setText(str(j6_max)) + + def start_Runing(self): + self.main_threading = Thread(target=self.run) + self.robot_connect_threading = Thread(target=self.robotClient.run) + self.main_threading.start() + self.robot_connect_threading.start() + pass + + def send_startFeed_button_click(self): + # 触发自动运行 + if self.robotClient.status_model.curMode != 7: + self.send_switch_tool_command() + log.log_message(logging.INFO, Constant.str_sys_switch_tool) + self.send_start_tool_command() + log.log_message(logging.INFO, Constant.str_sys_start_tool) + num = self.horizontalSlider_feedingNum.maximum() + line_head = self.comboBox_lineIndex.currentData() + self.command_quene.put(FeedCommand(FeedingConfig(num, self.feedLine_dict[line_head]))) + self.stackedWidget_num.setCurrentIndex(1) + self.set_run_status_button(True) + log.log_message(logging.INFO, f'{self.feedLine_dict[line_head].name}:{Constant.str_feed_start}') + + def send_num_button_click(self): + button = self.sender() + if button.text() != "自定义": + num = int(button.text()) + self.horizontalSlider_feedingNum.setMaximum(num) + self.label_maxNum.setText(str(num)) + self.horizontalSlider_feedingNum.setValue(0) + else: + self.lineEdit_num.show() + + def send_subOneAsix_button_click(self): + btn_str = self.sender().objectName() + Constant.manual_adjust_accuracy = float(self.lineEdit_manual_adjust_accuracy.text()) + x1 = self.horizontalSlider_J1.value() + x2 = self.horizontalSlider_J2.value() + x3 = self.horizontalSlider_J3.value() + x4 = self.horizontalSlider_J4.value() + x5 = self.horizontalSlider_J5.value() + x6 = self.horizontalSlider_J6.value() + if 'j1' in btn_str: + x1 = x1 - Constant.manual_adjust_accuracy + elif 'j2' in btn_str: + x2 = x2 - Constant.manual_adjust_accuracy + pass + elif 'j3' in btn_str: + x3 = x3 - Constant.manual_adjust_accuracy + pass + elif 'j4' in btn_str: + x4 = x4 - Constant.manual_adjust_accuracy + pass + elif 'j5' in btn_str: + x5 = x5 - Constant.manual_adjust_accuracy + pass + elif 'j6' in btn_str: + x6 = x6 - Constant.manual_adjust_accuracy + self.send_position_command(x1, x2, x3, x4, x5, x6, MoveType.AXIS) + + def send_addOneAsix_button_click(self, btn): + btn_str = self.sender().objectName() + Constant.manual_adjust_accuracy = float(self.lineEdit_manual_adjust_accuracy.text()) + x1 = self.horizontalSlider_J1.value() + x2 = self.horizontalSlider_J2.value() + x3 = self.horizontalSlider_J3.value() + x4 = self.horizontalSlider_J4.value() + x5 = self.horizontalSlider_J5.value() + x6 = self.horizontalSlider_J6.value() + if 'j1' in btn_str: + x1 = x1 + Constant.manual_adjust_accuracy + elif 'j2' in btn_str: + x2 = x2 + Constant.manual_adjust_accuracy + pass + elif 'j3' in btn_str: + x3 = x3 + Constant.manual_adjust_accuracy + pass + elif 'j4' in btn_str: + x4 = x4 + Constant.manual_adjust_accuracy + pass + elif 'j5' in btn_str: + x5 = x5 + Constant.manual_adjust_accuracy + pass + elif 'j6' in btn_str: + x6 = x6 + Constant.manual_adjust_accuracy + self.send_position_command(x1, x2, x3, x4, x5, x6, move_type=MoveType.AXIS) + + def send_addNum_button_click(self): + self.feeding.feedConfig.num += 1 + + log.log_message(logging.INFO, Constant.str_sys_feedNum_add) + max_num = int(self.label_maxNum.text()) + 1 + self.horizontalSlider_feedingNum.setMaximum(max_num) + self.label_maxNum.setText(str(max_num)) + def send_subNum_button_click(self): + if self.feeding.feedConfig.num <= 1: + #self.send_stopFeed_button_click() + self.feeding.feedStatus = FeedStatus.FNone + # 清空运行命令 + self.send_clear_auto_command() + log.log_message(logging.INFO, Constant.str_feed_stop) + return + self.feeding.feedConfig.num -= 1 + log.log_message(logging.INFO, Constant.str_sys_feedNum_sub) + max_num = int(self.label_maxNum.text())-1 + self.horizontalSlider_feedingNum.setMaximum(max_num) + self.label_maxNum.setText(str(max_num)) + + def send_custom_num_returnPressed(self): + self.horizontalSlider_feedingNum.setMaximum(int(self.lineEdit_num.text())) + self.horizontalSlider_feedingNum.setValue(0) + self.label_maxNum.setText(self.lineEdit_num.text()) + log.log_message(logging.INFO, f'{Constant.str_sys_setFeedNum}:{self.label_maxNum.text()} ') + + + + def send_position_button_click(self): + # if True: + # cmd_command = CMDRequest() + # cmd_command.cmdData = ['rewriteData', '800', f'{position_instruction.m0}', 0] + # request_command = vars(cmd_command) + # self.robotClient.add_sendQuene(request_command) + return + + def send_position_returnPressed(self): + log.log_message(logging.INFO, Constant.str_sys_manualPosition) + self.send_position_command(float(self.lineEdit_j1.text()), + float(self.lineEdit_j2.text()), + float(self.lineEdit_j3.text()), + float(self.lineEdit_j4.text()), + float(self.lineEdit_j5.text()), + float(self.lineEdit_j6.text())) + + def send_setSpeed_label_doubelClick(self): + pass + + def send_setSpeed_clicked(self): + Constant.speed = int(self.lineEdit_speed_run.text()) + Constant.debug_speed = int(self.lineEdit_speed_debug.text()) + self.pushButton_speed.setText(str(Constant.speed)) + log.log_message(logging.INFO, Constant.str_sys_setSpeed + str(Constant.speed)+'|'+str(Constant.debug_speed)) + pass + + def send_get_safe_position_button_click(self): + real_position = self.robotClient.status_model.getRealPosition() + row_i = self.tableWidget_feedSeting.currentRow() + head = self.tableWidget_feedSeting.item(row_i, 0).text() + self.feedLine_dict[head].safe_position.init_position(real_position.X, real_position.Y, real_position.Z, + real_position.U, real_position.V, real_position.W) + self.set_position_to_tabel(row_i, 0, real_position) + + def send_get_photo_position_button_click(self): + real_position = self.robotClient.status_model.getRealPosition() + row_i = self.tableWidget_feedSeting.currentRow() + head = self.tableWidget_feedSeting.item(row_i, 0).text() + self.feedLine_dict[head].photo_position.init_position(real_position.X, real_position.Y, real_position.Z, + real_position.U, real_position.V, real_position.W) + self.set_position_to_tabel(row_i, 1, real_position) + + def send_get_feed_position_button_click(self): + real_position = self.robotClient.status_model.getRealPosition() + row_i = self.tableWidget_feedSeting.currentRow() + head = self.tableWidget_feedSeting.item(row_i, 0).text() + self.feedLine_dict[head].feed_position.init_position(real_position.X, real_position.Y, real_position.Z, + real_position.U, real_position.V, real_position.W) + self.set_position_to_tabel(row_i, 2, real_position) + + def send_tabelFeedSet_addRow(self): + for i in range(1, 20): + head = f'{Constant.feedLine_set_section}{i}' + if head not in self.feedLine_dict: + row_position = self.tableWidget_feedSeting.rowCount() # 当前行数 + self.tableWidget_feedSeting.insertRow(row_position) + safe_position = Real_Position() + photo_position = Real_Position() + feed_position = Real_Position() + self.feedLine_dict[head] = FeedLine('新建', safe_position, photo_position, feed_position) + self.tableWidget_feedSeting.setItem(self.tableWidget_feedSeting.rowCount() - 1, 0, + QTableWidgetItem(head)) + self.tableWidget_feedSeting.setItem(self.tableWidget_feedSeting.rowCount() - 1, 1, + QTableWidgetItem('新建')) + self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 0, safe_position) + self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 1, photo_position) + self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 2, feed_position) + break + + def send_tabelFeedSet_delRow(self): + selectRow = self.tableWidget_feedSeting.currentRow() + if selectRow >= 0: + for feed_line_key, feed_line in self.feedLine_dict.items(): + if feed_line_key == self.tableWidget_feedSeting.item(selectRow, 0).text(): + self.feedLine_dict.pop(feed_line_key) + self.tableWidget_feedSeting.removeRow(selectRow) + break + else: + QMessageBox.information(self, "提示", "请选择要删除的行") + + def send_tabelFeedSet_save(self): + count = len(self.feedLine_dict.keys()) + self.configReader.read(Constant.set_ini) + self.configReader.set('Robot_Feed', 'LineCount', str(count)) + writeFeedLine_to_ini(self.feedLine_dict, Constant.feedLine_set_file) + pass + + def send_stopFeed_button_click(self): + # 清空状态 + self.feeding.feedStatus = FeedStatus.FNone + # 清空运行命令 + self.send_clear_auto_command() + log.log_message(logging.INFO, Constant.str_feed_stop) + + def send_pauseFeed_button_click(self): + if self.pushButton_pauseFeed.text() == '暂停': + self.pushButton_pauseFeed.setText('继续') + log.log_message(logging.INFO, Constant.str_feed_pause) + self.send_pause_command(True) + self.feeding.pause = True + else: + self.pushButton_pauseFeed.setText('暂停') + self.send_pause_command(False) + log.log_message(logging.INFO, Constant.str_feed_continue) + self.send_start_tool_command() + log.log_message(logging.INFO, Constant.str_sys_start_tool) + self.feeding.pause = False + + pass + def send_tabWidget_control_change(self): + if self.robotClient.status_model.curMode != 7: + self.send_switch_tool_command() + log.log_message(logging.INFO, Constant.str_sys_switch_tool) + self.send_start_tool_command() + + def send_reset_button_click(self): + line_head = self.comboBox_lineIndex.currentData() + safe_position = self.feedLine_dict[line_head].safe_position + self.send_position_command(safe_position.X, safe_position.Y, safe_position.Z, safe_position.U, safe_position.V, safe_position.W,move_type=MoveType.WORLD) + + def send_tabelFeedSet_itemChanged(self, item): + row = item.row() + column = item.column() + value = item.text() + head = self.tableWidget_feedSeting.item(row, 0).text() + if column == 1: + self.feedLine_dict[head].name = value + elif column == (0 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].safe_position.X = float(value) + elif column == (1 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].safe_position.Y = float(value) + elif column == (2 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].safe_position.Z = float(value) + elif column == (3 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].safe_position.U = float(value) + elif column == (4 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].safe_position.V = float(value) + elif column == (5 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].safe_position.W = float(value) + # elif column == 7: + elif column == (6 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].photo_position.X = float(value) + elif column == (7 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].photo_position.Y = float(value) + elif column == (8 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].photo_position.Z = float(value) + elif column == (9 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].photo_position.U = float(value) + elif column == (10 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].photo_position.V = float(value) + elif column == (11 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].photo_position.W = float(value) + + elif column == (12 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].feed_position.X = float(value) + elif column == (13 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].feed_position.Y = float(value) + elif column == (14 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].feed_position.Z = float(value) + elif column == (15 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].feed_position.U = float(value) + elif column == (16 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].feed_position.V = float(value) + elif column == (17 + self.tableWidget_feedSeting_addtional_col_num): + self.feedLine_dict[head].feed_position.W = float(value) + + def run(self): + while True: + time.sleep(0.1) + if not self.command_quene.empty(): + command = self.command_quene.get() + if isinstance(command, FeedCommand) and command.status == Status.Prepareing: + if self.feeding.feedStatus == FeedStatus.FNone: + self.feeding.feedConfig = command.feed_config + self.feeding.feedStatus = FeedStatus.FStart + command.status = Status.Runing + + try: + self.feeding.run() + except: + print(Error_Code.SYS_NONEPoint) + self.updateUI() + + # pass #主线程 + + def updateUI(self): + if self.robotClient.connected: + self.set_label_status_style(True) + else: + self.set_label_status_style(False) + if self.feeding.feedStatus != FeedStatus.FNone: + self.horizontalSlider_feedingNum.setValue( + self.horizontalSlider_feedingNum.maximum() - self.feeding.feedConfig.num) + else: + self.set_run_status_button(False) + if self.feeding.feedStatus == FeedStatus.FNone: + self.stackedWidget_num.setCurrentIndex(0) + else: + self.stackedWidget_num.setCurrentIndex(1) + + # if self.feeding.feedConfig.num==2: + # self.feeding.pause=True + # self.send_pause_command(True) + # self.show_messagebox_of_person() + # log.log_message(logging.ERROR, '人员进入安全区') + self.label_date.setText(datetime.now().strftime("%Y-%m-%d")) + self.label_time.setText(datetime.now().strftime("%H:%M:%S")) + + self.updateUI_Position() + self.updateUI_label_detection() + self.updateUI_label_status() + self.updateUI_frame_sign(self.feeding.feedStatus) + + def updateUI_label_detection(self): + backgroud_img = Util.util_pic.cv2_to_qpixmap(self.feeding.detection_image) + self.frame_showDetection.setPixmap(backgroud_img) + + def updateUI_Select_Line(self): + self.comboBox_lineIndex.clear() + for key, value in self.feedLine_dict.items(): + self.comboBox_lineIndex.addItem(value.name, key) + def updateUI_label_status(self): + if self.robotClient.status_model.isMoving==1: + self.label_move_sign.show() + if self.label_move_sign.text() == '正在移动.': + self.label_move_sign.setText('正在移动..') + else: + self.label_move_sign.setText('正在移动.') + else: + self.label_move_sign.hide() + if self.robotClient.status_model.curMode >= 0: + try: + self.label_status_model.setText(Constant.mode_array[self.robotClient.status_model.curMode]) + except: + self.label_status_model.setText('未知模式') + self.label_status_remoteCmdLen.setText(str(self.robotClient.status_model.RemoteCmdLen)) + + + def updateUI_Position(self): + self.horizontalSlider_J1.setValue(self.status_address.axis_0) + self.horizontalSlider_J2.setValue(self.status_address.axis_1) + self.horizontalSlider_J3.setValue(self.status_address.axis_2) + self.horizontalSlider_J4.setValue(self.status_address.axis_3) + self.horizontalSlider_J5.setValue(self.status_address.axis_4) + self.horizontalSlider_J6.setValue(self.status_address.axis_5) + + self.label_j1.setText(str(self.status_address.axis_0)) + self.label_j2.setText(str(self.status_address.axis_1)) + self.label_j3.setText(str(self.status_address.axis_2)) + self.label_j4.setText(str(self.status_address.axis_3)) + self.label_j5.setText(str(self.status_address.axis_4)) + self.label_j6.setText(str(self.status_address.axis_5)) + + def set_position_to_tabel(self, row_i, position_j, real_Position: Real_Position): + self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + self.tableWidget_feedSeting_addtional_col_num, + QTableWidgetItem(str(real_Position.X))) + self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 1 + self.tableWidget_feedSeting_addtional_col_num, + QTableWidgetItem(str(real_Position.Y))) + self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 2 + self.tableWidget_feedSeting_addtional_col_num, + QTableWidgetItem(str(real_Position.Z))) + self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 3 + self.tableWidget_feedSeting_addtional_col_num, + QTableWidgetItem(str(real_Position.U))) + self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 4 + self.tableWidget_feedSeting_addtional_col_num, + QTableWidgetItem(str(real_Position.V))) + self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 5 + self.tableWidget_feedSeting_addtional_col_num, + QTableWidgetItem(str(real_Position.W))) + def updateUI_frame_sign(self,sign:FeedStatus): + # print("start") + if sign == FeedStatus.FNone: + self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False) + self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False) + self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False) + self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False) + return + if sign < FeedStatus.FPhoto: + self.set_sign_status(self.label_sign_go,self.pushButton_sign_go,True) + self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False) + self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False) + self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False) + return + if sign <= FeedStatus.FPhoto: + self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False) + self.set_sign_status(self.label_sign_photo,self.pushButton_sign_photo,True) + self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False) + self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False) + return + if sign <= FeedStatus.FTake: + self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False) + self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False) + self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, True) + self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, False) + return + if sign <= FeedStatus.FBroken: + self.set_sign_status(self.label_sign_go, self.pushButton_sign_go, False) + self.set_sign_status(self.label_sign_photo, self.pushButton_sign_photo, False) + self.set_sign_status(self.label_sign_take, self.pushButton_sign_take, False) + self.set_sign_status(self.label_sign_feed, self.pushButton_sign_feed, True) + return + pass + + + def set_label_status_style(self, connected: bool): + + if connected: + if self.label_connect_status.styleSheet().strip() != self.active_status_Qss: + self.label_connect_status.setStyleSheet(self.active_status_Qss) + self.active_status_Qss = self.label_connect_status.styleSheet().strip() + + else: + if self.label_connect_status.styleSheet().strip() != self.noActive_status_Qss: + self.label_connect_status.setStyleSheet(self.noActive_status_Qss) + self.noActive_status_Qss = self.label_connect_status.styleSheet().strip() + def set_sign_status(self,label,btn,signed:bool): + + try : + if signed: + if label.styleSheet().strip() != self.active_label_sign_Qss: + label.setStyleSheet(self.active_label_sign_Qss) + self.active_label_sign_Qss = label.styleSheet().strip() + + if btn.styleSheet().strip() != self.active_btn_sign_Qss: + btn.setStyleSheet(self.active_btn_sign_Qss) + self.active_btn_sign_Qss = btn.styleSheet().strip() + else: + if label.styleSheet().strip() != self.noactive_label_sign_Qss: + label.setStyleSheet(self.noactive_label_sign_Qss) + self.noactive_label_sign_Qss = label.styleSheet().strip() + if btn.styleSheet().strip() != self.noactive_btn_sign_Qss: + btn.setStyleSheet(self.noactive_btn_sign_Qss) + self.noactive_btn_sign_Qss = btn.styleSheet().strip() + except Exception as e: + print(e) + + + + def set_run_status_button(self, isRuning: bool): + self.pushButton_pauseFeed.setText("暂停") + if isRuning: + self.pushButton_pauseFeed.show() + self.pushButton_stopFeed.show() + self.pushButton_startFeed.hide() + else: + self.pushButton_pauseFeed.hide() + self.pushButton_stopFeed.hide() + self.pushButton_startFeed.show() + + def send_clear_auto_command(self): + clear_command = CMDInstructRequest() + request_command = clear_command.toString() + log.log_message(logging.INFO, Constant.str_sys_clearAlarm) + self.command_quene.put(request_command) + + def send_position_command(self, x1, x2, x3, x4, x5, x6, move_type: MoveType = MoveType.WORLD): + + position_instruction = Instruction() + position_instruction.m0 = float(x1) + position_instruction.m1 = float(x2) + position_instruction.m2 = float(x3) + position_instruction.m3 = float(x4) + position_instruction.m4 = float(x5) + position_instruction.m5 = float(x6) + position_instruction.action = move_type.value + instruction_command = CMDInstructRequest() + instruction_command.instructions.append(position_instruction) + request_command = instruction_command.toString() + log_str = f'移动到位置:{"自由路径" if move_type == MoveType.AXIS else "姿势直线"}:' \ + f'm0:{position_instruction.m0}-' \ + f'm2:{position_instruction.m1}-' \ + f'm3:{position_instruction.m2}-' \ + f'm4:{position_instruction.m3}-' \ + f'm5:{position_instruction.m4}-' \ + f'm6:{position_instruction.m5}' + log.log_message(logging.INFO,log_str) + self.robotClient.add_sendQuene(request_command) + + def send_pause_command(self, pause: bool): + pause_command = CMDRequest() + pause_command.cmdData.append("actionPause") + if pause: + pause_command.cmdData.append("1") + else: + pause_command.cmdData.append("0") + request_command = pause_command.toString() + print(request_command) + self.robotClient.add_sendQuene(request_command) + + def send_clear_alarm_command(self, pause: bool): + pause_command = CMDRequest() + pause_command.cmdData.append("clearAlarmContinue") + pause_command.cmdData.append("1") + request_command = pause_command.toString() + print(request_command) + log_str = f'暂停:{pause}' + self.robotClient.add_sendQuene(request_command) + + def send_switch_tool_command(self): + switch_command = CMDRequest() + switch_command.cmdData.append("switchTool") + switch_command.cmdData.append("2") + request_command = switch_command.toString() + print(request_command) + + self.robotClient.add_sendQuene(request_command) + + def send_start_tool_command(self): + switch_command = CMDRequest() + switch_command.cmdData.append("startButton") + switch_command.cmdData.append("1") + request_command = switch_command.toString() + print(request_command) + + self.robotClient.add_sendQuene(request_command) + + def show_messagebox_of_person(self): + + msg_box = QMessageBox(self) + msg_box.setWindowTitle("提示") + msg_box.setText("当前有人是否继续") + msg_box.setIcon(QMessageBox.Question) + msg_box.setStandardButtons(QMessageBox.Yes) + msg_box.setDefaultButton(QMessageBox.Yes) + + + result = msg_box.exec() + + + + if result == QMessageBox.Yes: + self.feeding.pause = False + self.send_pause_command(False) + + ### 设置界面 + def get_p1_button_click(self): + realPosition = self.robotClient.status_model.getRealPosition() + self.lineEdit_x1.setText(realPosition.X) + self.lineEdit_y1.setText(realPosition.Y) + self.lineEdit_z1.setText(realPosition.Z) + + def get_p2_button_click(self): + realPosition = self.robotClient.status_model.getRealPosition() + self.lineEdit_x2.setText(realPosition.X) + self.lineEdit_y2.setText(realPosition.Y) + self.lineEdit_z2.setText(realPosition.Z) + + def get_p3_button_click(self): + realPosition = self.robotClient.status_model.getRealPosition() + self.lineEdit_x3.setText(realPosition.X) + self.lineEdit_y3.setText(realPosition.Y) + self.lineEdit_z3.setText(realPosition.Z) + + def set_p1_button_click(self): + try: + x1 = float(self.lineEdit_x1.text()) + y1 = float(self.lineEdit_y1.text()) + z1 = float(self.lineEdit_z1.text()) + self.robotClient.photo_locs[0] = (x1, y1, z1) + self.configReader.read(Constant.set_ini) + self.configReader.set('Robot_Feed', 'photo_x1', str(x1)) + self.configReader.set('Robot_Feed', 'photo_y1', str(y1)) + self.configReader.set('Robot_Feed', 'photo_z1', str(z1)) + log.log_message(logging.INFO, f'设置拍照点1:{x1},{y1},{z1}') + except: + self.show_infomessage_box("设置拍照点1失败") + + def set_p2_button_click(self): + try: + x2 = float(self.lineEdit_x2.text()) + y2 = float(self.lineEdit_y2.text()) + z2 = float(self.lineEdit_z2.text()) + self.robotClient.photo_locs[1] = (x2, y2, z2) + self.configReader.read(Constant.set_ini) + self.configReader.set('Robot_Feed', 'photo_x2', str(x2)) + self.configReader.set('Robot_Feed', 'photo_y2', str(y2)) + self.configReader.set('Robot_Feed', 'photo_z2', str(z2)) + log.log_message(logging.INFO, f'设置拍照点2:{x2},{y2},{z2}') + except: + self.show_infomessage_box("设置拍照点2失败") + + + def set_p3_button_click(self): + try: + x3 = float(self.lineEdit_x3.text()) + y3 = float(self.lineEdit_y3.text()) + z3 = float(self.lineEdit_z3.text()) + self.robotClient.photo_locs[2] = (x3, y3, z3) + self.configReader.read(Constant.set_ini) + self.configReader.set('Robot_Feed', 'photo_x3', str(x3)) + self.configReader.set('Robot_Feed', 'photo_y3', str(y3)) + self.configReader.set('Robot_Feed', 'photo_z3', str(z3)) + log.log_message(logging.INFO, f'设置拍照点3:{x3},{y3},{z3}') + except: + self.show_infomessage_box("设置拍照点3失败") + + + def updateUI_Photo_Set(self): + self.lineEdit_x1.setText(str(self.robotClient.photo_locs[0][0])) + self.lineEdit_y1.setText(str(self.robotClient.photo_locs[0][1])) + self.lineEdit_z1.setText(str(self.robotClient.photo_locs[0][2])) + self.lineEdit_x2.setText(str(self.robotClient.photo_locs[1][0])) + self.lineEdit_y2.setText(str(self.robotClient.photo_locs[1][1])) + self.lineEdit_z2.setText(str(self.robotClient.photo_locs[1][2])) + self.lineEdit_x3.setText(str(self.robotClient.photo_locs[2][0])) + self.lineEdit_y3.setText(str(self.robotClient.photo_locs[2][1])) + self.lineEdit_z3.setText(str(self.robotClient.photo_locs[2][2])) + pass + + def show_infomessage_box(self,message): + msg_box = QMessageBox(self) + msg_box.setWindowTitle("提示") + msg_box.setText(message) + msg_box.setIcon(QMessageBox.Information) + msg_box.setStandardButtons(QMessageBox.OK) + def send_click_change_stackView(self,index): + self.stackedWidget_view.setCurrentIndex(index) + + def send_click_sysmeuExpand(self): + self.frame_sys_seting.setVisible(not self.frame_sys_seting.isVisible()) + if self.frame_2.sizePolicy().verticalPolicy() == QSizePolicy.Policy.Fixed: + self.frame_2.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + else: + self.frame_2.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) + + +if __name__ == "__main__": + app = QApplication(sys.argv) + window = MainWindow() + window.show() + sys.exit(app.exec()) + + diff --git a/test5.py b/test5.py deleted file mode 100644 index 60809c2..0000000 --- a/test5.py +++ /dev/null @@ -1,49 +0,0 @@ - -import configparser -import json -import logging -import queue -import sys -from multiprocessing import Process - -from PyQt5.uic.properties import QtWidgets -from PySide6.QtCore import QThread, Signal, Slot, QObject, QEvent -from PySide6.QtGui import QIntValidator, QStandardItemModel, QStandardItem, Qt, QMovie -from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QHeaderView, QTableWidget, \ - QTableWidgetItem, QWidget, QHBoxLayout, QAbstractItemView, QMessageBox -from datetime import datetime - -import Util.util_pic -from Util.util_ini import writeFeedLine_to_ini -import Constant -from CU.Command import FeedCommand -from CU.Feeding import FeedLine, FeedingConfig, Feeding, FeedStatus -from Util.util_log import QTextEditLogger -from Vision.camera_coordinate_dete import Detection - -from COM.COM_Robot import RobotClient -from Expection import Error_Code -from queue import Queue -from Model.RobotModel import * -import time -from queue import Queue -from Model.Position import Real_Position, Detection_Position -from threading import Thread -from CU.Command import Status -from Util.util_log import log -from ui_MainWin import Ui_MainWindow - -class MainWindow1(QMainWindow, Ui_MainWindow): - def __init__(self): - super(MainWindow1, self).__init__() - self.setupUi(self) - self.frame_sys_seting.setVisible(False) - self.frame_other_set.hide() - -if __name__ == "__main__": - app = QApplication(sys.argv) - window = MainWindow1() - window.show() - sys.exit(app.exec()) - - diff --git a/test6.py b/test6.py index 55cb265..cd3be08 100644 --- a/test6.py +++ b/test6.py @@ -1,120 +1,19 @@ -from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QFrame, QLabel, QScrollArea -from PySide6.QtCore import Qt -import sys +from PySide6.QtWidgets import QApplication, QWidget, QSizePolicy -class FriendList(QWidget): - def __init__(self): - super().__init__() +app = QApplication([]) - # 使用 QVBoxLayout 布局 - self.layout = QVBoxLayout() - self.layout.setSpacing(0) - self.layout.setContentsMargins(0, 0, 0, 0) +# 创建一个示例 widget +widget = QWidget() - # 添加好友分组 - self.group1 = self.create_group("我的好友", ["小明", "小红", "小李"]) - self.group2 = self.create_group("同学", ["张三", "李四", "王五"]) - self.group3 = self.create_group("家人", ["爸爸", "妈妈", "姐姐"]) +# 获取 size policy +size_policy = widget.sizePolicy() - # 将每个分组添加到主布局 - self.layout.addWidget(self.group1) - self.layout.addWidget(self.group2) - self.layout.addWidget(self.group3) +# 获取水平和垂直的 size policy +horizontal_policy = size_policy.horizontalPolicy() +vertical_policy = size_policy.verticalPolicy() - # 设置主布局 - self.setLayout(self.layout) +# 打印出水平和垂直的 size policy 名称 +print("Horizontal Size Policy:", ) +print("Vertical Size Policy:", QSizePolicy.policyToName(vertical_policy)) - def create_group(self, group_name, friends): - # 创建一个 QFrame 作为分组的容器 - group_frame = QFrame() - group_layout = QVBoxLayout() - group_layout.setSpacing(0) - group_layout.setContentsMargins(0, 0, 0, 0) - - # 创建分组按钮 - group_button = QPushButton(group_name) - group_button.setObjectName("groupButton") - group_button.setCheckable(True) - group_button.setChecked(False) # 默认不展开 - group_button.clicked.connect(lambda: self.toggle_group(group_frame)) # 切换菜单显示 - - # 创建好友列表 - friend_frame = QFrame() - friend_layout = QVBoxLayout() - friend_layout.setSpacing(0) - friend_layout.setContentsMargins(20, 0, 0, 0) # 设置左边距,使其与分组按钮有明显缩进 - - for friend in friends: - friend_label = QLabel(friend) - friend_label.setObjectName("friendLabel") - friend_layout.addWidget(friend_label) - - # 设置好友列表布局并隐藏 - friend_frame.setLayout(friend_layout) - friend_frame.setVisible(False) # 默认隐藏 - - # 将按钮和好友列表添加到分组布局 - group_layout.addWidget(group_button) - group_layout.addWidget(friend_frame) - group_frame.setLayout(group_layout) - - # 绑定子菜单,用于后续切换显示 - group_frame.menu = friend_frame - return group_frame - - def toggle_group(self, group_frame): - # 切换好友列表的显示和隐藏 - group_frame.menu.setVisible(not group_frame.menu.isVisible()) - -if __name__ == "__main__": - app = QApplication(sys.argv) - - # 创建主窗口 - window = QWidget() - layout = QVBoxLayout() - - # 创建 FriendList 控件 - friend_list = FriendList() - - # 将 FriendList 放入滚动区域 - scroll_area = QScrollArea() - scroll_area.setWidgetResizable(True) - scroll_area.setWidget(friend_list) - - # 将滚动区域添加到主布局 - layout.addWidget(scroll_area) - window.setLayout(layout) - - # 设置窗口大小 - window.resize(300, 500) - window.show() - - # 使用 QSS 设置样式,模拟类似 QQ 好友列表的样式 - app.setStyleSheet(""" - QPushButton#groupButton { - background-color: #3A9; - border: none; - padding: 10px; - font-size: 16px; - color: white; - text-align: left; - } - QPushButton#groupButton:checked { - background-color: #5BB; - } - QLabel#friendLabel { - background-color: #EEE; - padding: 5px; - font-size: 14px; - color: black; - text-align: left; - } - QLabel#friendLabel:hover { - background-color: #CCC; - } - QFrame { - background-color: #FFF; - } - """) - - sys.exit(app.exec()) +app.exec() diff --git a/ui_MainWin.py b/ui_MainWin.py index 02fd8aa..e133ea8 100644 --- a/ui_MainWin.py +++ b/ui_MainWin.py @@ -26,7 +26,7 @@ class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") - MainWindow.resize(887, 559) + MainWindow.resize(898, 613) sizePolicy = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -55,6 +55,11 @@ class Ui_MainWindow(object): self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.label = QLabel(self.frame_4) self.label.setObjectName(u"label") + sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + sizePolicy1.setHorizontalStretch(0) + sizePolicy1.setVerticalStretch(0) + sizePolicy1.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy1) self.label.setStyleSheet(u"border-image: url(:/main/Image/title_ico.png) 0 0 0 0 strech;\n" "border-width: 5px 1px 3px 4px; \n" "border-style: solid; ") @@ -96,6 +101,11 @@ class Ui_MainWindow(object): "padding:18px;\n" "\n" "}\n" +"*:hover{\n" +"color:#ffffff;\n" +"border-image: url(:/main/Image/backgroud_head_btn.jpg);\n" +"background-color: #1A3E79;\n" +"}\n" "*:pressed\n" "{\n" "color:#ffffff;\n" @@ -243,9 +253,15 @@ class Ui_MainWindow(object): self.verticalLayout_2 = QVBoxLayout(self.frame_left_menu) self.verticalLayout_2.setSpacing(8) self.verticalLayout_2.setObjectName(u"verticalLayout_2") + self.verticalLayout_2.setSizeConstraint(QLayout.SizeConstraint.SetDefaultConstraint) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.frame_2 = QFrame(self.frame_left_menu) self.frame_2.setObjectName(u"frame_2") + sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed) + sizePolicy2.setHorizontalStretch(0) + sizePolicy2.setVerticalStretch(0) + sizePolicy2.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth()) + self.frame_2.setSizePolicy(sizePolicy2) self.frame_2.setStyleSheet(u"background-color: #0D1128;\n" "border: none;") self.frame_2.setFrameShape(QFrame.Shape.StyledPanel) @@ -254,14 +270,11 @@ class Ui_MainWindow(object): self.verticalLayout_3.setSpacing(0) self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) - self.pushButton_7 = QPushButton(self.frame_2) - self.pushButton_7.setObjectName(u"pushButton_7") - sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) - sizePolicy1.setHorizontalStretch(0) - sizePolicy1.setVerticalStretch(0) - sizePolicy1.setHeightForWidth(self.pushButton_7.sizePolicy().hasHeightForWidth()) - self.pushButton_7.setSizePolicy(sizePolicy1) - self.pushButton_7.setStyleSheet(u" QPushButton {\n" + self.pushButton_sysseting = QPushButton(self.frame_2) + self.pushButton_sysseting.setObjectName(u"pushButton_sysseting") + sizePolicy2.setHeightForWidth(self.pushButton_sysseting.sizePolicy().hasHeightForWidth()) + self.pushButton_sysseting.setSizePolicy(sizePolicy2) + self.pushButton_sysseting.setStyleSheet(u" QPushButton {\n" " \n" " color: white; /* \u6309\u94ae\u6587\u672c\u989c\u8272 */\n" " background-color: rgb(25, 30, 54);\n" @@ -273,13 +286,18 @@ class Ui_MainWindow(object): " }") icon2 = QIcon() icon2.addFile(u":/main/Image/icon_leftMenu_btn_sys.svg", QSize(), QIcon.Mode.Normal, QIcon.State.Off) - self.pushButton_7.setIcon(icon2) - self.pushButton_7.setIconSize(QSize(20, 20)) + self.pushButton_sysseting.setIcon(icon2) + self.pushButton_sysseting.setIconSize(QSize(20, 20)) - self.verticalLayout_3.addWidget(self.pushButton_7, 0, Qt.AlignmentFlag.AlignTop) + self.verticalLayout_3.addWidget(self.pushButton_sysseting) self.frame_sys_seting = QFrame(self.frame_2) self.frame_sys_seting.setObjectName(u"frame_sys_seting") + sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) + sizePolicy3.setHorizontalStretch(0) + sizePolicy3.setVerticalStretch(0) + sizePolicy3.setHeightForWidth(self.frame_sys_seting.sizePolicy().hasHeightForWidth()) + self.frame_sys_seting.setSizePolicy(sizePolicy3) self.frame_sys_seting.setStyleSheet(u"\n" "background-color: rgb(13, 17, 40);") self.frame_sys_seting.setFrameShape(QFrame.Shape.StyledPanel) @@ -302,11 +320,14 @@ class Ui_MainWindow(object): self.frame_10.setFrameShadow(QFrame.Shadow.Raised) self.verticalLayout_4 = QVBoxLayout(self.frame_10) self.verticalLayout_4.setObjectName(u"verticalLayout_4") - self.pushButton_8 = QPushButton(self.frame_10) - self.pushButton_8.setObjectName(u"pushButton_8") - sizePolicy1.setHeightForWidth(self.pushButton_8.sizePolicy().hasHeightForWidth()) - self.pushButton_8.setSizePolicy(sizePolicy1) - self.pushButton_8.setStyleSheet(u"\n" + self.pushButton_leftmenu_produce = QPushButton(self.frame_10) + self.pushButton_leftmenu_produce.setObjectName(u"pushButton_leftmenu_produce") + sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) + sizePolicy4.setHorizontalStretch(0) + sizePolicy4.setVerticalStretch(0) + sizePolicy4.setHeightForWidth(self.pushButton_leftmenu_produce.sizePolicy().hasHeightForWidth()) + self.pushButton_leftmenu_produce.setSizePolicy(sizePolicy4) + self.pushButton_leftmenu_produce.setStyleSheet(u"\n" "\n" " QPushButton {\n" " \n" @@ -324,13 +345,13 @@ class Ui_MainWindow(object): "}\n" "") - self.verticalLayout_4.addWidget(self.pushButton_8) + self.verticalLayout_4.addWidget(self.pushButton_leftmenu_produce) - self.pushButton_9 = QPushButton(self.frame_10) - self.pushButton_9.setObjectName(u"pushButton_9") - sizePolicy1.setHeightForWidth(self.pushButton_9.sizePolicy().hasHeightForWidth()) - self.pushButton_9.setSizePolicy(sizePolicy1) - self.pushButton_9.setStyleSheet(u"\n" + self.pushButton_leftmenu_position = QPushButton(self.frame_10) + self.pushButton_leftmenu_position.setObjectName(u"pushButton_leftmenu_position") + sizePolicy4.setHeightForWidth(self.pushButton_leftmenu_position.sizePolicy().hasHeightForWidth()) + self.pushButton_leftmenu_position.setSizePolicy(sizePolicy4) + self.pushButton_leftmenu_position.setStyleSheet(u"\n" "\n" " QPushButton {\n" " \n" @@ -348,13 +369,13 @@ class Ui_MainWindow(object): "}\n" "") - self.verticalLayout_4.addWidget(self.pushButton_9) + self.verticalLayout_4.addWidget(self.pushButton_leftmenu_position) - self.pushButton_10 = QPushButton(self.frame_10) - self.pushButton_10.setObjectName(u"pushButton_10") - sizePolicy1.setHeightForWidth(self.pushButton_10.sizePolicy().hasHeightForWidth()) - self.pushButton_10.setSizePolicy(sizePolicy1) - self.pushButton_10.setStyleSheet(u"\n" + self.pushButton_leftmenu_baseSeting = QPushButton(self.frame_10) + self.pushButton_leftmenu_baseSeting.setObjectName(u"pushButton_leftmenu_baseSeting") + sizePolicy4.setHeightForWidth(self.pushButton_leftmenu_baseSeting.sizePolicy().hasHeightForWidth()) + self.pushButton_leftmenu_baseSeting.setSizePolicy(sizePolicy4) + self.pushButton_leftmenu_baseSeting.setStyleSheet(u"\n" "\n" " QPushButton {\n" " \n" @@ -372,13 +393,13 @@ class Ui_MainWindow(object): "}\n" "") - self.verticalLayout_4.addWidget(self.pushButton_10) + self.verticalLayout_4.addWidget(self.pushButton_leftmenu_baseSeting) - self.pushButton_15 = QPushButton(self.frame_10) - self.pushButton_15.setObjectName(u"pushButton_15") - sizePolicy1.setHeightForWidth(self.pushButton_15.sizePolicy().hasHeightForWidth()) - self.pushButton_15.setSizePolicy(sizePolicy1) - self.pushButton_15.setStyleSheet(u"\n" + self.pushButton_leftmenu_posDebug = QPushButton(self.frame_10) + self.pushButton_leftmenu_posDebug.setObjectName(u"pushButton_leftmenu_posDebug") + sizePolicy4.setHeightForWidth(self.pushButton_leftmenu_posDebug.sizePolicy().hasHeightForWidth()) + self.pushButton_leftmenu_posDebug.setSizePolicy(sizePolicy4) + self.pushButton_leftmenu_posDebug.setStyleSheet(u"\n" "\n" " QPushButton {\n" " \n" @@ -396,7 +417,7 @@ class Ui_MainWindow(object): "}\n" "") - self.verticalLayout_4.addWidget(self.pushButton_15) + self.verticalLayout_4.addWidget(self.pushButton_leftmenu_posDebug) self.horizontalLayout_6.addWidget(self.frame_10) @@ -407,7 +428,6 @@ class Ui_MainWindow(object): self.verticalLayout_3.addWidget(self.frame_sys_seting) self.verticalLayout_3.setStretch(0, 15) - self.verticalLayout_3.setStretch(1, 30) self.verticalLayout_2.addWidget(self.frame_2) @@ -422,8 +442,11 @@ class Ui_MainWindow(object): self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) self.pushButton_11 = QPushButton(self.frame_5) self.pushButton_11.setObjectName(u"pushButton_11") - sizePolicy1.setHeightForWidth(self.pushButton_11.sizePolicy().hasHeightForWidth()) - self.pushButton_11.setSizePolicy(sizePolicy1) + sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed) + sizePolicy5.setHorizontalStretch(0) + sizePolicy5.setVerticalStretch(0) + sizePolicy5.setHeightForWidth(self.pushButton_11.sizePolicy().hasHeightForWidth()) + self.pushButton_11.setSizePolicy(sizePolicy5) self.pushButton_11.setStyleSheet(u" QPushButton {\n" " \n" " color: white; /* \u6309\u94ae\u6587\u672c\u989c\u8272 */\n" @@ -439,7 +462,7 @@ class Ui_MainWindow(object): self.pushButton_11.setIcon(icon3) self.pushButton_11.setIconSize(QSize(20, 20)) - self.verticalLayout_6.addWidget(self.pushButton_11, 0, Qt.AlignmentFlag.AlignTop) + self.verticalLayout_6.addWidget(self.pushButton_11) self.frame_other_set = QFrame(self.frame_5) self.frame_other_set.setObjectName(u"frame_other_set") @@ -467,34 +490,6 @@ class Ui_MainWindow(object): self.verticalLayout_5.setSpacing(5) self.verticalLayout_5.setObjectName(u"verticalLayout_5") self.verticalLayout_5.setContentsMargins(5, 5, 5, 5) - self.pushButton_12 = QPushButton(self.frame_13) - self.pushButton_12.setObjectName(u"pushButton_12") - sizePolicy1.setHeightForWidth(self.pushButton_12.sizePolicy().hasHeightForWidth()) - self.pushButton_12.setSizePolicy(sizePolicy1) - self.pushButton_12.setStyleSheet(u"background-color: rgb(16, 31, 63);\n" -"color: rgb(255, 255, 255);") - - self.verticalLayout_5.addWidget(self.pushButton_12) - - self.pushButton_13 = QPushButton(self.frame_13) - self.pushButton_13.setObjectName(u"pushButton_13") - sizePolicy1.setHeightForWidth(self.pushButton_13.sizePolicy().hasHeightForWidth()) - self.pushButton_13.setSizePolicy(sizePolicy1) - self.pushButton_13.setStyleSheet(u"background-color: rgb(16, 31, 63);\n" -"color: rgb(255, 255, 255);") - - self.verticalLayout_5.addWidget(self.pushButton_13) - - self.pushButton_14 = QPushButton(self.frame_13) - self.pushButton_14.setObjectName(u"pushButton_14") - sizePolicy1.setHeightForWidth(self.pushButton_14.sizePolicy().hasHeightForWidth()) - self.pushButton_14.setSizePolicy(sizePolicy1) - self.pushButton_14.setStyleSheet(u"background-color: rgb(16, 31, 63);\n" -"color: rgb(255, 255, 255);\n" -"bord:1px #0D1128") - - self.verticalLayout_5.addWidget(self.pushButton_14) - self.horizontalLayout_7.addWidget(self.frame_13) @@ -508,6 +503,8 @@ class Ui_MainWindow(object): self.verticalLayout_2.addWidget(self.frame_5) + self.verticalLayout_2.setStretch(0, 1) + self.verticalLayout_2.setStretch(1, 1) self.horizontalLayout_4.addWidget(self.frame_left_menu) @@ -519,13 +516,10 @@ class Ui_MainWindow(object): self.verticalLayout_8.setSpacing(0) self.verticalLayout_8.setObjectName(u"verticalLayout_8") self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) - self.stackedWidget = QStackedWidget(self.frame_view) - self.stackedWidget.setObjectName(u"stackedWidget") - sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) - sizePolicy2.setHorizontalStretch(0) - sizePolicy2.setVerticalStretch(0) - sizePolicy2.setHeightForWidth(self.stackedWidget.sizePolicy().hasHeightForWidth()) - self.stackedWidget.setSizePolicy(sizePolicy2) + self.stackedWidget_view = QStackedWidget(self.frame_view) + self.stackedWidget_view.setObjectName(u"stackedWidget_view") + sizePolicy1.setHeightForWidth(self.stackedWidget_view.sizePolicy().hasHeightForWidth()) + self.stackedWidget_view.setSizePolicy(sizePolicy1) self.page_3 = QWidget() self.page_3.setObjectName(u"page_3") self.verticalLayout_7 = QVBoxLayout(self.page_3) @@ -540,15 +534,20 @@ class Ui_MainWindow(object): self.verticalLayout_9.setSpacing(0) self.verticalLayout_9.setObjectName(u"verticalLayout_9") self.verticalLayout_9.setContentsMargins(0, 0, 0, 0) - self.frame_16 = QFrame(self.frame_14) - self.frame_16.setObjectName(u"frame_16") - self.frame_16.setStyleSheet(u"border-image: url(:/main/Image/wait.png);") - self.frame_16.setFrameShape(QFrame.Shape.StyledPanel) - self.frame_16.setFrameShadow(QFrame.Shadow.Raised) - self.verticalLayout_14 = QVBoxLayout(self.frame_16) + self.frame_showDetection = QFrame(self.frame_14) + self.frame_showDetection.setObjectName(u"frame_showDetection") + self.frame_showDetection.setStyleSheet(u"border-image: url(:/main/Image/wait.png);") + self.frame_showDetection.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_showDetection.setFrameShadow(QFrame.Shadow.Raised) + self.verticalLayout_14 = QVBoxLayout(self.frame_showDetection) self.verticalLayout_14.setObjectName(u"verticalLayout_14") - self.frame_sign = QFrame(self.frame_16) + self.frame_sign = QFrame(self.frame_showDetection) self.frame_sign.setObjectName(u"frame_sign") + sizePolicy6 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred) + sizePolicy6.setHorizontalStretch(0) + sizePolicy6.setVerticalStretch(0) + sizePolicy6.setHeightForWidth(self.frame_sign.sizePolicy().hasHeightForWidth()) + self.frame_sign.setSizePolicy(sizePolicy6) self.frame_sign.setStyleSheet(u"background-color: rgba(255, 255, 255, 0);\n" "border-image: None;") self.frame_sign.setFrameShape(QFrame.Shape.StyledPanel) @@ -664,7 +663,7 @@ class Ui_MainWindow(object): self.verticalLayout_14.addWidget(self.frame_sign) - self.label_move_sign = QLabel(self.frame_16) + self.label_move_sign = QLabel(self.frame_showDetection) self.label_move_sign.setObjectName(u"label_move_sign") self.label_move_sign.setStyleSheet(u"background-color: rgba(255, 255, 255, 0);\n" "color: red;\n" @@ -674,7 +673,7 @@ class Ui_MainWindow(object): self.verticalLayout_14.addWidget(self.label_move_sign) - self.verticalLayout_9.addWidget(self.frame_16) + self.verticalLayout_9.addWidget(self.frame_showDetection) self.frame_15 = QFrame(self.frame_14) self.frame_15.setObjectName(u"frame_15") @@ -697,14 +696,16 @@ class Ui_MainWindow(object): self.horizontalLayout_9.setContentsMargins(0, 0, 0, 0) self.tabWidget = QTabWidget(self.frame_17) self.tabWidget.setObjectName(u"tabWidget") - sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum) - sizePolicy3.setHorizontalStretch(0) - sizePolicy3.setVerticalStretch(0) - sizePolicy3.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) - self.tabWidget.setSizePolicy(sizePolicy3) + sizePolicy1.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) + self.tabWidget.setSizePolicy(sizePolicy1) self.tabWidget.setStyleSheet(u"border:None;\n" "background-color: rgb(13, 17, 40);\n" "") + self.tabWidget.setTabShape(QTabWidget.TabShape.Rounded) + self.tabWidget.setElideMode(Qt.TextElideMode.ElideNone) + self.tabWidget.setDocumentMode(True) + self.tabWidget.setTabsClosable(False) + self.tabWidget.setTabBarAutoHide(False) self.tab = QWidget() self.tab.setObjectName(u"tab") self.horizontalLayout_13 = QHBoxLayout(self.tab) @@ -716,7 +717,8 @@ class Ui_MainWindow(object): self.horizontalLayout_13.addWidget(self.textEdit_log_info) - self.tabWidget.addTab(self.tab, "") + icon4 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.FormatJustifyCenter)) + self.tabWidget.addTab(self.tab, icon4, "") self.tab_2 = QWidget() self.tab_2.setObjectName(u"tab_2") self.horizontalLayout_14 = QHBoxLayout(self.tab_2) @@ -728,7 +730,8 @@ class Ui_MainWindow(object): self.horizontalLayout_14.addWidget(self.textEdit_log_error) - self.tabWidget.addTab(self.tab_2, "") + icon5 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.AudioCard)) + self.tabWidget.addTab(self.tab_2, icon5, "") self.horizontalLayout_9.addWidget(self.tabWidget) @@ -749,6 +752,30 @@ class Ui_MainWindow(object): self.frame_25.setFrameShadow(QFrame.Shadow.Raised) self.gridLayout_3 = QGridLayout(self.frame_25) self.gridLayout_3.setObjectName(u"gridLayout_3") + self.label_53 = QLabel(self.frame_25) + self.label_53.setObjectName(u"label_53") + self.label_53.setStyleSheet(u"color:#fff;\n" +"font: 290 9pt \"Microsoft YaHei\";\n" +"font: 700 9pt \"Microsoft YaHei UI\";") + self.label_53.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) + + self.gridLayout_3.addWidget(self.label_53, 0, 0, 1, 1) + + self.label_connect_status = QLabel(self.frame_25) + self.label_connect_status.setObjectName(u"label_connect_status") + sizePolicy2.setHeightForWidth(self.label_connect_status.sizePolicy().hasHeightForWidth()) + self.label_connect_status.setSizePolicy(sizePolicy2) + self.label_connect_status.setStyleSheet(u"QLabel {\n" +" background-color: #A2EF4D; /* \u8bbe\u7f6e\u80cc\u666f\u989c\u8272 */\n" +" color: black; /* \u8bbe\u7f6e\u5b57\u4f53\u989c\u8272 */\n" +" border-radius: 8px; /* \u5706\u89d2\u534a\u5f84\u8bbe\u7f6e\u4e3a QLabel \u7684\u4e00\u534a\uff0c\u5f62\u6210\u5706\u5f62 */\n" +" border: 1px solid #A2EF4D; /* \u8bbe\u7f6e\u8fb9\u6846\u989c\u8272\u548c\u5bbd\u5ea6 */\n" +" qproperty-alignment: 'AlignCenter'; /* \u8bbe\u7f6e\u6587\u672c\u5c45\u4e2d */\n" +"}\n" +"") + + self.gridLayout_3.addWidget(self.label_connect_status, 0, 1, 1, 1) + self.label_8 = QLabel(self.frame_25) self.label_8.setObjectName(u"label_8") self.label_8.setStyleSheet(u"color:#fff;\n" @@ -756,15 +783,12 @@ class Ui_MainWindow(object): "font: 700 9pt \"Microsoft YaHei UI\";") self.label_8.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) - self.gridLayout_3.addWidget(self.label_8, 0, 0, 1, 1) + self.gridLayout_3.addWidget(self.label_8, 1, 0, 1, 1) self.label_status_model = QLabel(self.frame_25) self.label_status_model.setObjectName(u"label_status_model") - sizePolicy4 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed) - sizePolicy4.setHorizontalStretch(0) - sizePolicy4.setVerticalStretch(0) - sizePolicy4.setHeightForWidth(self.label_status_model.sizePolicy().hasHeightForWidth()) - self.label_status_model.setSizePolicy(sizePolicy4) + sizePolicy2.setHeightForWidth(self.label_status_model.sizePolicy().hasHeightForWidth()) + self.label_status_model.setSizePolicy(sizePolicy2) self.label_status_model.setStyleSheet(u"QLabel {\n" " background-color: #A2EF4D; /* \u8bbe\u7f6e\u80cc\u666f\u989c\u8272 */\n" " color: black; /* \u8bbe\u7f6e\u5b57\u4f53\u989c\u8272 */\n" @@ -774,7 +798,7 @@ class Ui_MainWindow(object): "}\n" "") - self.gridLayout_3.addWidget(self.label_status_model, 0, 1, 1, 1) + self.gridLayout_3.addWidget(self.label_status_model, 1, 1, 1, 1) self.label_10 = QLabel(self.frame_25) self.label_10.setObjectName(u"label_10") @@ -783,12 +807,12 @@ class Ui_MainWindow(object): "font: 700 9pt \"Microsoft YaHei UI\";") self.label_10.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) - self.gridLayout_3.addWidget(self.label_10, 1, 0, 1, 1) + self.gridLayout_3.addWidget(self.label_10, 2, 0, 1, 1) self.label_status_remoteCmdLen = QLabel(self.frame_25) self.label_status_remoteCmdLen.setObjectName(u"label_status_remoteCmdLen") - sizePolicy4.setHeightForWidth(self.label_status_remoteCmdLen.sizePolicy().hasHeightForWidth()) - self.label_status_remoteCmdLen.setSizePolicy(sizePolicy4) + sizePolicy2.setHeightForWidth(self.label_status_remoteCmdLen.sizePolicy().hasHeightForWidth()) + self.label_status_remoteCmdLen.setSizePolicy(sizePolicy2) self.label_status_remoteCmdLen.setStyleSheet(u"QLabel {\n" " background-color: #A2EF4D; /* \u8bbe\u7f6e\u80cc\u666f\u989c\u8272 */\n" " color: black; /* \u8bbe\u7f6e\u5b57\u4f53\u989c\u8272 */\n" @@ -798,7 +822,7 @@ class Ui_MainWindow(object): "}\n" "") - self.gridLayout_3.addWidget(self.label_status_remoteCmdLen, 1, 1, 1, 1) + self.gridLayout_3.addWidget(self.label_status_remoteCmdLen, 2, 1, 1, 1) self.label_13 = QLabel(self.frame_25) self.label_13.setObjectName(u"label_13") @@ -807,12 +831,12 @@ class Ui_MainWindow(object): "font: 700 9pt \"Microsoft YaHei UI\";") self.label_13.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) - self.gridLayout_3.addWidget(self.label_13, 2, 0, 1, 1) + self.gridLayout_3.addWidget(self.label_13, 3, 0, 1, 1) self.pushButton_speed = QLabel(self.frame_25) self.pushButton_speed.setObjectName(u"pushButton_speed") - sizePolicy4.setHeightForWidth(self.pushButton_speed.sizePolicy().hasHeightForWidth()) - self.pushButton_speed.setSizePolicy(sizePolicy4) + sizePolicy2.setHeightForWidth(self.pushButton_speed.sizePolicy().hasHeightForWidth()) + self.pushButton_speed.setSizePolicy(sizePolicy2) self.pushButton_speed.setStyleSheet(u"QLabel {\n" " background-color: #A2EF4D; /* \u8bbe\u7f6e\u80cc\u666f\u989c\u8272 */\n" " color: black; /* \u8bbe\u7f6e\u5b57\u4f53\u989c\u8272 */\n" @@ -822,7 +846,7 @@ class Ui_MainWindow(object): "}\n" "") - self.gridLayout_3.addWidget(self.pushButton_speed, 2, 1, 1, 1) + self.gridLayout_3.addWidget(self.pushButton_speed, 3, 1, 1, 1) self.label_11 = QLabel(self.frame_25) self.label_11.setObjectName(u"label_11") @@ -831,12 +855,12 @@ class Ui_MainWindow(object): "font: 700 9pt \"Microsoft YaHei UI\";") self.label_11.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) - self.gridLayout_3.addWidget(self.label_11, 3, 0, 1, 1) + self.gridLayout_3.addWidget(self.label_11, 4, 0, 1, 1) self.label_status_model_2 = QLabel(self.frame_25) self.label_status_model_2.setObjectName(u"label_status_model_2") - sizePolicy4.setHeightForWidth(self.label_status_model_2.sizePolicy().hasHeightForWidth()) - self.label_status_model_2.setSizePolicy(sizePolicy4) + sizePolicy2.setHeightForWidth(self.label_status_model_2.sizePolicy().hasHeightForWidth()) + self.label_status_model_2.setSizePolicy(sizePolicy2) self.label_status_model_2.setStyleSheet(u"QLabel {\n" " background-color: #A2EF4D; /* \u8bbe\u7f6e\u80cc\u666f\u989c\u8272 */\n" " color: black; /* \u8bbe\u7f6e\u5b57\u4f53\u989c\u8272 */\n" @@ -846,7 +870,7 @@ class Ui_MainWindow(object): "}\n" "") - self.gridLayout_3.addWidget(self.label_status_model_2, 3, 1, 1, 1) + self.gridLayout_3.addWidget(self.label_status_model_2, 4, 1, 1, 1) self.label_12 = QLabel(self.frame_25) self.label_12.setObjectName(u"label_12") @@ -855,12 +879,12 @@ class Ui_MainWindow(object): "font: 700 9pt \"Microsoft YaHei UI\";") self.label_12.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) - self.gridLayout_3.addWidget(self.label_12, 4, 0, 1, 1) + self.gridLayout_3.addWidget(self.label_12, 5, 0, 1, 1) self.label_status_model_3 = QLabel(self.frame_25) self.label_status_model_3.setObjectName(u"label_status_model_3") - sizePolicy4.setHeightForWidth(self.label_status_model_3.sizePolicy().hasHeightForWidth()) - self.label_status_model_3.setSizePolicy(sizePolicy4) + sizePolicy2.setHeightForWidth(self.label_status_model_3.sizePolicy().hasHeightForWidth()) + self.label_status_model_3.setSizePolicy(sizePolicy2) self.label_status_model_3.setStyleSheet(u"QLabel {\n" " background-color: #A2EF4D; /* \u8bbe\u7f6e\u80cc\u666f\u989c\u8272 */\n" " color: black; /* \u8bbe\u7f6e\u5b57\u4f53\u989c\u8272 */\n" @@ -870,7 +894,7 @@ class Ui_MainWindow(object): "}\n" "") - self.gridLayout_3.addWidget(self.label_status_model_3, 4, 1, 1, 1) + self.gridLayout_3.addWidget(self.label_status_model_3, 5, 1, 1, 1) self.verticalLayout_13.addWidget(self.frame_25) @@ -889,7 +913,7 @@ class Ui_MainWindow(object): self.verticalLayout_7.addWidget(self.frame_14) self.verticalLayout_7.setStretch(0, 1) - self.stackedWidget.addWidget(self.page_3) + self.stackedWidget_view.addWidget(self.page_3) self.page_4 = QWidget() self.page_4.setObjectName(u"page_4") self.verticalLayout_15 = QVBoxLayout(self.page_4) @@ -994,19 +1018,16 @@ class Ui_MainWindow(object): self.gridLayout_5.setObjectName(u"gridLayout_5") self.label_9 = QLabel(self.frame_28) self.label_9.setObjectName(u"label_9") - sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) - sizePolicy5.setHorizontalStretch(0) - sizePolicy5.setVerticalStretch(0) - sizePolicy5.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth()) - self.label_9.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth()) + self.label_9.setSizePolicy(sizePolicy3) self.label_9.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_9, 0, 0, 1, 1) self.lineEdit_x1 = QLineEdit(self.frame_28) self.lineEdit_x1.setObjectName(u"lineEdit_x1") - sizePolicy2.setHeightForWidth(self.lineEdit_x1.sizePolicy().hasHeightForWidth()) - self.lineEdit_x1.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_x1.sizePolicy().hasHeightForWidth()) + self.lineEdit_x1.setSizePolicy(sizePolicy1) self.lineEdit_x1.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_x1.setReadOnly(True) @@ -1014,16 +1035,16 @@ class Ui_MainWindow(object): self.label_14 = QLabel(self.frame_28) self.label_14.setObjectName(u"label_14") - sizePolicy5.setHeightForWidth(self.label_14.sizePolicy().hasHeightForWidth()) - self.label_14.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_14.sizePolicy().hasHeightForWidth()) + self.label_14.setSizePolicy(sizePolicy3) self.label_14.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_14, 0, 2, 1, 1) self.lineEdit_y1 = QLineEdit(self.frame_28) self.lineEdit_y1.setObjectName(u"lineEdit_y1") - sizePolicy2.setHeightForWidth(self.lineEdit_y1.sizePolicy().hasHeightForWidth()) - self.lineEdit_y1.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_y1.sizePolicy().hasHeightForWidth()) + self.lineEdit_y1.setSizePolicy(sizePolicy1) self.lineEdit_y1.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_y1.setReadOnly(True) @@ -1031,16 +1052,16 @@ class Ui_MainWindow(object): self.label_15 = QLabel(self.frame_28) self.label_15.setObjectName(u"label_15") - sizePolicy5.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth()) - self.label_15.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth()) + self.label_15.setSizePolicy(sizePolicy3) self.label_15.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_15, 0, 4, 1, 1) self.lineEdit_z1 = QLineEdit(self.frame_28) self.lineEdit_z1.setObjectName(u"lineEdit_z1") - sizePolicy2.setHeightForWidth(self.lineEdit_z1.sizePolicy().hasHeightForWidth()) - self.lineEdit_z1.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_z1.sizePolicy().hasHeightForWidth()) + self.lineEdit_z1.setSizePolicy(sizePolicy1) self.lineEdit_z1.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_z1.setReadOnly(True) @@ -1048,8 +1069,8 @@ class Ui_MainWindow(object): self.pushButton_get_p1 = QPushButton(self.frame_28) self.pushButton_get_p1.setObjectName(u"pushButton_get_p1") - sizePolicy1.setHeightForWidth(self.pushButton_get_p1.sizePolicy().hasHeightForWidth()) - self.pushButton_get_p1.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_get_p1.sizePolicy().hasHeightForWidth()) + self.pushButton_get_p1.setSizePolicy(sizePolicy4) self.pushButton_get_p1.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1068,8 +1089,8 @@ class Ui_MainWindow(object): self.pushButton_set_p1 = QPushButton(self.frame_28) self.pushButton_set_p1.setObjectName(u"pushButton_set_p1") - sizePolicy1.setHeightForWidth(self.pushButton_set_p1.sizePolicy().hasHeightForWidth()) - self.pushButton_set_p1.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_set_p1.sizePolicy().hasHeightForWidth()) + self.pushButton_set_p1.setSizePolicy(sizePolicy4) self.pushButton_set_p1.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1088,16 +1109,16 @@ class Ui_MainWindow(object): self.label_18 = QLabel(self.frame_28) self.label_18.setObjectName(u"label_18") - sizePolicy5.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) - self.label_18.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_18.sizePolicy().hasHeightForWidth()) + self.label_18.setSizePolicy(sizePolicy3) self.label_18.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_18, 1, 0, 1, 1) self.lineEdit_x2 = QLineEdit(self.frame_28) self.lineEdit_x2.setObjectName(u"lineEdit_x2") - sizePolicy2.setHeightForWidth(self.lineEdit_x2.sizePolicy().hasHeightForWidth()) - self.lineEdit_x2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_x2.sizePolicy().hasHeightForWidth()) + self.lineEdit_x2.setSizePolicy(sizePolicy1) self.lineEdit_x2.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_x2.setReadOnly(True) @@ -1105,16 +1126,16 @@ class Ui_MainWindow(object): self.label_16 = QLabel(self.frame_28) self.label_16.setObjectName(u"label_16") - sizePolicy5.setHeightForWidth(self.label_16.sizePolicy().hasHeightForWidth()) - self.label_16.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_16.sizePolicy().hasHeightForWidth()) + self.label_16.setSizePolicy(sizePolicy3) self.label_16.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_16, 1, 2, 1, 1) self.lineEdit_y2 = QLineEdit(self.frame_28) self.lineEdit_y2.setObjectName(u"lineEdit_y2") - sizePolicy2.setHeightForWidth(self.lineEdit_y2.sizePolicy().hasHeightForWidth()) - self.lineEdit_y2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_y2.sizePolicy().hasHeightForWidth()) + self.lineEdit_y2.setSizePolicy(sizePolicy1) self.lineEdit_y2.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_y2.setReadOnly(True) @@ -1122,16 +1143,16 @@ class Ui_MainWindow(object): self.label_17 = QLabel(self.frame_28) self.label_17.setObjectName(u"label_17") - sizePolicy5.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth()) - self.label_17.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_17.sizePolicy().hasHeightForWidth()) + self.label_17.setSizePolicy(sizePolicy3) self.label_17.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_17, 1, 4, 1, 1) self.lineEdit_z2 = QLineEdit(self.frame_28) self.lineEdit_z2.setObjectName(u"lineEdit_z2") - sizePolicy2.setHeightForWidth(self.lineEdit_z2.sizePolicy().hasHeightForWidth()) - self.lineEdit_z2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_z2.sizePolicy().hasHeightForWidth()) + self.lineEdit_z2.setSizePolicy(sizePolicy1) self.lineEdit_z2.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_z2.setReadOnly(True) @@ -1139,8 +1160,8 @@ class Ui_MainWindow(object): self.pushButton_get_p2 = QPushButton(self.frame_28) self.pushButton_get_p2.setObjectName(u"pushButton_get_p2") - sizePolicy1.setHeightForWidth(self.pushButton_get_p2.sizePolicy().hasHeightForWidth()) - self.pushButton_get_p2.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_get_p2.sizePolicy().hasHeightForWidth()) + self.pushButton_get_p2.setSizePolicy(sizePolicy4) self.pushButton_get_p2.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1159,8 +1180,8 @@ class Ui_MainWindow(object): self.pushButton_set_p2 = QPushButton(self.frame_28) self.pushButton_set_p2.setObjectName(u"pushButton_set_p2") - sizePolicy1.setHeightForWidth(self.pushButton_set_p2.sizePolicy().hasHeightForWidth()) - self.pushButton_set_p2.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_set_p2.sizePolicy().hasHeightForWidth()) + self.pushButton_set_p2.setSizePolicy(sizePolicy4) self.pushButton_set_p2.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1179,16 +1200,16 @@ class Ui_MainWindow(object): self.label_25 = QLabel(self.frame_28) self.label_25.setObjectName(u"label_25") - sizePolicy5.setHeightForWidth(self.label_25.sizePolicy().hasHeightForWidth()) - self.label_25.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_25.sizePolicy().hasHeightForWidth()) + self.label_25.setSizePolicy(sizePolicy3) self.label_25.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_25, 2, 0, 1, 1) self.lineEdit_x1_3 = QLineEdit(self.frame_28) self.lineEdit_x1_3.setObjectName(u"lineEdit_x1_3") - sizePolicy2.setHeightForWidth(self.lineEdit_x1_3.sizePolicy().hasHeightForWidth()) - self.lineEdit_x1_3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_x1_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_x1_3.setSizePolicy(sizePolicy1) self.lineEdit_x1_3.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_x1_3.setReadOnly(True) @@ -1196,16 +1217,16 @@ class Ui_MainWindow(object): self.label_27 = QLabel(self.frame_28) self.label_27.setObjectName(u"label_27") - sizePolicy5.setHeightForWidth(self.label_27.sizePolicy().hasHeightForWidth()) - self.label_27.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_27.sizePolicy().hasHeightForWidth()) + self.label_27.setSizePolicy(sizePolicy3) self.label_27.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_27, 2, 2, 1, 1) self.lineEdit_y1_3 = QLineEdit(self.frame_28) self.lineEdit_y1_3.setObjectName(u"lineEdit_y1_3") - sizePolicy2.setHeightForWidth(self.lineEdit_y1_3.sizePolicy().hasHeightForWidth()) - self.lineEdit_y1_3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_y1_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_y1_3.setSizePolicy(sizePolicy1) self.lineEdit_y1_3.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_y1_3.setReadOnly(True) @@ -1213,16 +1234,16 @@ class Ui_MainWindow(object): self.label_26 = QLabel(self.frame_28) self.label_26.setObjectName(u"label_26") - sizePolicy5.setHeightForWidth(self.label_26.sizePolicy().hasHeightForWidth()) - self.label_26.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_26.sizePolicy().hasHeightForWidth()) + self.label_26.setSizePolicy(sizePolicy3) self.label_26.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_26, 2, 4, 1, 1) self.lineEdit_z1_3 = QLineEdit(self.frame_28) self.lineEdit_z1_3.setObjectName(u"lineEdit_z1_3") - sizePolicy2.setHeightForWidth(self.lineEdit_z1_3.sizePolicy().hasHeightForWidth()) - self.lineEdit_z1_3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_z1_3.sizePolicy().hasHeightForWidth()) + self.lineEdit_z1_3.setSizePolicy(sizePolicy1) self.lineEdit_z1_3.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_z1_3.setReadOnly(True) @@ -1230,8 +1251,8 @@ class Ui_MainWindow(object): self.pushButton_get_p1_3 = QPushButton(self.frame_28) self.pushButton_get_p1_3.setObjectName(u"pushButton_get_p1_3") - sizePolicy1.setHeightForWidth(self.pushButton_get_p1_3.sizePolicy().hasHeightForWidth()) - self.pushButton_get_p1_3.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_get_p1_3.sizePolicy().hasHeightForWidth()) + self.pushButton_get_p1_3.setSizePolicy(sizePolicy4) self.pushButton_get_p1_3.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1250,8 +1271,8 @@ class Ui_MainWindow(object): self.pushButton_set_p1_3 = QPushButton(self.frame_28) self.pushButton_set_p1_3.setObjectName(u"pushButton_set_p1_3") - sizePolicy1.setHeightForWidth(self.pushButton_set_p1_3.sizePolicy().hasHeightForWidth()) - self.pushButton_set_p1_3.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_set_p1_3.sizePolicy().hasHeightForWidth()) + self.pushButton_set_p1_3.setSizePolicy(sizePolicy4) self.pushButton_set_p1_3.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1270,16 +1291,16 @@ class Ui_MainWindow(object): self.label_20 = QLabel(self.frame_28) self.label_20.setObjectName(u"label_20") - sizePolicy5.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) - self.label_20.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_20.sizePolicy().hasHeightForWidth()) + self.label_20.setSizePolicy(sizePolicy3) self.label_20.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_20, 3, 0, 1, 1) self.lineEdit_x3 = QLineEdit(self.frame_28) self.lineEdit_x3.setObjectName(u"lineEdit_x3") - sizePolicy2.setHeightForWidth(self.lineEdit_x3.sizePolicy().hasHeightForWidth()) - self.lineEdit_x3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_x3.sizePolicy().hasHeightForWidth()) + self.lineEdit_x3.setSizePolicy(sizePolicy1) self.lineEdit_x3.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_x3.setReadOnly(True) @@ -1287,16 +1308,16 @@ class Ui_MainWindow(object): self.label_21 = QLabel(self.frame_28) self.label_21.setObjectName(u"label_21") - sizePolicy5.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth()) - self.label_21.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth()) + self.label_21.setSizePolicy(sizePolicy3) self.label_21.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_21, 3, 2, 1, 1) self.lineEdit_y3 = QLineEdit(self.frame_28) self.lineEdit_y3.setObjectName(u"lineEdit_y3") - sizePolicy2.setHeightForWidth(self.lineEdit_y3.sizePolicy().hasHeightForWidth()) - self.lineEdit_y3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_y3.sizePolicy().hasHeightForWidth()) + self.lineEdit_y3.setSizePolicy(sizePolicy1) self.lineEdit_y3.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_y3.setReadOnly(True) @@ -1304,16 +1325,16 @@ class Ui_MainWindow(object): self.label_19 = QLabel(self.frame_28) self.label_19.setObjectName(u"label_19") - sizePolicy5.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) - self.label_19.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_19.sizePolicy().hasHeightForWidth()) + self.label_19.setSizePolicy(sizePolicy3) self.label_19.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_19, 3, 4, 1, 1) self.lineEdit_z3 = QLineEdit(self.frame_28) self.lineEdit_z3.setObjectName(u"lineEdit_z3") - sizePolicy2.setHeightForWidth(self.lineEdit_z3.sizePolicy().hasHeightForWidth()) - self.lineEdit_z3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_z3.sizePolicy().hasHeightForWidth()) + self.lineEdit_z3.setSizePolicy(sizePolicy1) self.lineEdit_z3.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_z3.setReadOnly(True) @@ -1321,8 +1342,8 @@ class Ui_MainWindow(object): self.pushButton_get_p3 = QPushButton(self.frame_28) self.pushButton_get_p3.setObjectName(u"pushButton_get_p3") - sizePolicy1.setHeightForWidth(self.pushButton_get_p3.sizePolicy().hasHeightForWidth()) - self.pushButton_get_p3.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_get_p3.sizePolicy().hasHeightForWidth()) + self.pushButton_get_p3.setSizePolicy(sizePolicy4) self.pushButton_get_p3.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1341,8 +1362,8 @@ class Ui_MainWindow(object): self.pushButton_set_p3 = QPushButton(self.frame_28) self.pushButton_set_p3.setObjectName(u"pushButton_set_p3") - sizePolicy1.setHeightForWidth(self.pushButton_set_p3.sizePolicy().hasHeightForWidth()) - self.pushButton_set_p3.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_set_p3.sizePolicy().hasHeightForWidth()) + self.pushButton_set_p3.setSizePolicy(sizePolicy4) self.pushButton_set_p3.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1361,16 +1382,16 @@ class Ui_MainWindow(object): self.label_23 = QLabel(self.frame_28) self.label_23.setObjectName(u"label_23") - sizePolicy5.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth()) - self.label_23.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth()) + self.label_23.setSizePolicy(sizePolicy3) self.label_23.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_23, 4, 0, 1, 1) self.lineEdit_x1_2 = QLineEdit(self.frame_28) self.lineEdit_x1_2.setObjectName(u"lineEdit_x1_2") - sizePolicy2.setHeightForWidth(self.lineEdit_x1_2.sizePolicy().hasHeightForWidth()) - self.lineEdit_x1_2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_x1_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_x1_2.setSizePolicy(sizePolicy1) self.lineEdit_x1_2.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_x1_2.setReadOnly(True) @@ -1378,16 +1399,16 @@ class Ui_MainWindow(object): self.label_24 = QLabel(self.frame_28) self.label_24.setObjectName(u"label_24") - sizePolicy5.setHeightForWidth(self.label_24.sizePolicy().hasHeightForWidth()) - self.label_24.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_24.sizePolicy().hasHeightForWidth()) + self.label_24.setSizePolicy(sizePolicy3) self.label_24.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_24, 4, 2, 1, 1) self.lineEdit_y1_2 = QLineEdit(self.frame_28) self.lineEdit_y1_2.setObjectName(u"lineEdit_y1_2") - sizePolicy2.setHeightForWidth(self.lineEdit_y1_2.sizePolicy().hasHeightForWidth()) - self.lineEdit_y1_2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_y1_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_y1_2.setSizePolicy(sizePolicy1) self.lineEdit_y1_2.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_y1_2.setReadOnly(True) @@ -1395,16 +1416,16 @@ class Ui_MainWindow(object): self.label_22 = QLabel(self.frame_28) self.label_22.setObjectName(u"label_22") - sizePolicy5.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth()) - self.label_22.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth()) + self.label_22.setSizePolicy(sizePolicy3) self.label_22.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) self.gridLayout_5.addWidget(self.label_22, 4, 4, 1, 1) self.lineEdit_z1_2 = QLineEdit(self.frame_28) self.lineEdit_z1_2.setObjectName(u"lineEdit_z1_2") - sizePolicy2.setHeightForWidth(self.lineEdit_z1_2.sizePolicy().hasHeightForWidth()) - self.lineEdit_z1_2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_z1_2.sizePolicy().hasHeightForWidth()) + self.lineEdit_z1_2.setSizePolicy(sizePolicy1) self.lineEdit_z1_2.setStyleSheet(u"border:1px solid #FFFfff") self.lineEdit_z1_2.setReadOnly(True) @@ -1412,8 +1433,8 @@ class Ui_MainWindow(object): self.pushButton_get_p1_2 = QPushButton(self.frame_28) self.pushButton_get_p1_2.setObjectName(u"pushButton_get_p1_2") - sizePolicy1.setHeightForWidth(self.pushButton_get_p1_2.sizePolicy().hasHeightForWidth()) - self.pushButton_get_p1_2.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_get_p1_2.sizePolicy().hasHeightForWidth()) + self.pushButton_get_p1_2.setSizePolicy(sizePolicy4) self.pushButton_get_p1_2.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1432,8 +1453,8 @@ class Ui_MainWindow(object): self.pushButton_set_p1_2 = QPushButton(self.frame_28) self.pushButton_set_p1_2.setObjectName(u"pushButton_set_p1_2") - sizePolicy1.setHeightForWidth(self.pushButton_set_p1_2.sizePolicy().hasHeightForWidth()) - self.pushButton_set_p1_2.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_set_p1_2.sizePolicy().hasHeightForWidth()) + self.pushButton_set_p1_2.setSizePolicy(sizePolicy4) self.pushButton_set_p1_2.setStyleSheet(u"\n" "*{\n" "color: #ffffff;\n" @@ -1458,9 +1479,555 @@ class Ui_MainWindow(object): self.verticalLayout_15.setStretch(0, 1) self.verticalLayout_15.setStretch(1, 1) - self.stackedWidget.addWidget(self.page_4) + self.stackedWidget_view.addWidget(self.page_4) + self.page = QWidget() + self.page.setObjectName(u"page") + self.verticalLayout_17 = QVBoxLayout(self.page) + self.verticalLayout_17.setSpacing(0) + self.verticalLayout_17.setObjectName(u"verticalLayout_17") + self.verticalLayout_17.setContentsMargins(0, 0, 0, 0) + self.frame_8 = QFrame(self.page) + self.frame_8.setObjectName(u"frame_8") + self.frame_8.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_8.setFrameShadow(QFrame.Shadow.Raised) + self.verticalLayout_18 = QVBoxLayout(self.frame_8) + self.verticalLayout_18.setObjectName(u"verticalLayout_18") + self.frame_29 = QFrame(self.frame_8) + self.frame_29.setObjectName(u"frame_29") + sizePolicy7 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Minimum) + sizePolicy7.setHorizontalStretch(0) + sizePolicy7.setVerticalStretch(0) + sizePolicy7.setHeightForWidth(self.frame_29.sizePolicy().hasHeightForWidth()) + self.frame_29.setSizePolicy(sizePolicy7) + self.frame_29.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_29.setFrameShadow(QFrame.Shadow.Raised) + self.frame_11 = QFrame(self.frame_29) + self.frame_11.setObjectName(u"frame_11") + self.frame_11.setGeometry(QRect(0, 0, 424, 41)) + sizePolicy7.setHeightForWidth(self.frame_11.sizePolicy().hasHeightForWidth()) + self.frame_11.setSizePolicy(sizePolicy7) + self.frame_11.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_11.setFrameShadow(QFrame.Shadow.Raised) + self.gridLayout_6 = QGridLayout(self.frame_11) + self.gridLayout_6.setObjectName(u"gridLayout_6") + self.label_28 = QLabel(self.frame_11) + self.label_28.setObjectName(u"label_28") + self.label_28.setStyleSheet(u"color: rgb(255, 255, 255);") - self.verticalLayout_8.addWidget(self.stackedWidget) + self.gridLayout_6.addWidget(self.label_28, 0, 0, 1, 1) + + self.lineEdit_speed_run = QLineEdit(self.frame_11) + self.lineEdit_speed_run.setObjectName(u"lineEdit_speed_run") + + self.gridLayout_6.addWidget(self.lineEdit_speed_run, 0, 1, 1, 1) + + self.label_29 = QLabel(self.frame_11) + self.label_29.setObjectName(u"label_29") + self.label_29.setStyleSheet(u"color: rgb(255, 255, 255);") + + self.gridLayout_6.addWidget(self.label_29, 0, 2, 1, 1) + + self.lineEdit_speed_debug = QLineEdit(self.frame_11) + self.lineEdit_speed_debug.setObjectName(u"lineEdit_speed_debug") + + self.gridLayout_6.addWidget(self.lineEdit_speed_debug, 0, 3, 1, 1) + + self.pushButton_saveSeting = QPushButton(self.frame_29) + self.pushButton_saveSeting.setObjectName(u"pushButton_saveSeting") + self.pushButton_saveSeting.setGeometry(QRect(420, 10, 75, 23)) + self.pushButton_saveSeting.setStyleSheet(u"*{\n" +"background-color: #2196F3;\n" +"font: 9pt \"\u6977\u4f53\";\n" +"border:None;\n" +"}\n" +"*:pressed\n" +"{\n" +"background-color: #499c8a;\n" +"}\n" +"") + self.pushButton_saveSeting.setFlat(False) + + self.verticalLayout_18.addWidget(self.frame_29) + + self.verticalLayout_18.setStretch(0, 7) + + self.verticalLayout_17.addWidget(self.frame_8) + + self.stackedWidget_view.addWidget(self.page) + self.page_2 = QWidget() + self.page_2.setObjectName(u"page_2") + self.verticalLayout_19 = QVBoxLayout(self.page_2) + self.verticalLayout_19.setSpacing(0) + self.verticalLayout_19.setObjectName(u"verticalLayout_19") + self.verticalLayout_19.setContentsMargins(0, 0, 0, 0) + self.frame_30 = QFrame(self.page_2) + self.frame_30.setObjectName(u"frame_30") + self.frame_30.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_30.setFrameShadow(QFrame.Shadow.Raised) + self.horizontalLayout_17 = QHBoxLayout(self.frame_30) + self.horizontalLayout_17.setSpacing(0) + self.horizontalLayout_17.setObjectName(u"horizontalLayout_17") + self.horizontalLayout_17.setContentsMargins(0, 0, 0, 0) + self.frame_31 = QFrame(self.frame_30) + self.frame_31.setObjectName(u"frame_31") + self.frame_31.setStyleSheet(u"background-color: rgb(85, 170, 255);") + self.frame_31.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_31.setFrameShadow(QFrame.Shadow.Raised) + self.gridLayout_7 = QGridLayout(self.frame_31) + self.gridLayout_7.setObjectName(u"gridLayout_7") + self.lineEdit_j6 = QLineEdit(self.frame_31) + self.lineEdit_j6.setObjectName(u"lineEdit_j6") + + self.gridLayout_7.addWidget(self.lineEdit_j6, 14, 7, 1, 1) + + self.pushButton_j3_add = QPushButton(self.frame_31) + self.pushButton_j3_add.setObjectName(u"pushButton_j3_add") + self.pushButton_j3_add.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color:rgb(85, 85, 255);\n" +"}\n" +"") + icon6 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ListAdd)) + self.pushButton_j3_add.setIcon(icon6) + + self.gridLayout_7.addWidget(self.pushButton_j3_add, 8, 6, 1, 1) + + self.lineEdit_j2 = QLineEdit(self.frame_31) + self.lineEdit_j2.setObjectName(u"lineEdit_j2") + + self.gridLayout_7.addWidget(self.lineEdit_j2, 6, 7, 1, 1) + + self.horizontalSlider_J3 = QSlider(self.frame_31) + self.horizontalSlider_J3.setObjectName(u"horizontalSlider_J3") + self.horizontalSlider_J3.setOrientation(Qt.Orientation.Horizontal) + + self.gridLayout_7.addWidget(self.horizontalSlider_J3, 8, 2, 1, 4) + + self.pushButton_j5_add = QPushButton(self.frame_31) + self.pushButton_j5_add.setObjectName(u"pushButton_j5_add") + self.pushButton_j5_add.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color:rgb(85, 85, 255);\n" +"}\n" +"") + self.pushButton_j5_add.setIcon(icon6) + + self.gridLayout_7.addWidget(self.pushButton_j5_add, 12, 6, 1, 1) + + self.pushButton_j6_sub = QPushButton(self.frame_31) + self.pushButton_j6_sub.setObjectName(u"pushButton_j6_sub") + self.pushButton_j6_sub.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color: rgb(255, 0, 0);\n" +"}\n" +"") + icon7 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ListRemove)) + self.pushButton_j6_sub.setIcon(icon7) + + self.gridLayout_7.addWidget(self.pushButton_j6_sub, 14, 1, 1, 1) + + self.label_34 = QLabel(self.frame_31) + self.label_34.setObjectName(u"label_34") + self.label_34.setStyleSheet(u"font: 700 9pt \"Microsoft YaHei UI\";") + + self.gridLayout_7.addWidget(self.label_34, 12, 0, 1, 1) + + self.pushButton_j6_add = QPushButton(self.frame_31) + self.pushButton_j6_add.setObjectName(u"pushButton_j6_add") + self.pushButton_j6_add.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color:rgb(85, 85, 255);\n" +"}\n" +"") + self.pushButton_j6_add.setIcon(icon6) + + self.gridLayout_7.addWidget(self.pushButton_j6_add, 14, 6, 1, 1) + + self.label_j5_max = QLabel(self.frame_31) + self.label_j5_max.setObjectName(u"label_j5_max") + + self.gridLayout_7.addWidget(self.label_j5_max, 11, 5, 1, 1) + + self.lineEdit_j4 = QLineEdit(self.frame_31) + self.lineEdit_j4.setObjectName(u"lineEdit_j4") + + self.gridLayout_7.addWidget(self.lineEdit_j4, 10, 7, 1, 1) + + self.pushButton_j2_add = QPushButton(self.frame_31) + self.pushButton_j2_add.setObjectName(u"pushButton_j2_add") + self.pushButton_j2_add.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color:rgb(85, 85, 255);\n" +"}\n" +"") + self.pushButton_j2_add.setIcon(icon6) + + self.gridLayout_7.addWidget(self.pushButton_j2_add, 6, 6, 1, 1) + + self.lineEdit_j3 = QLineEdit(self.frame_31) + self.lineEdit_j3.setObjectName(u"lineEdit_j3") + + self.gridLayout_7.addWidget(self.lineEdit_j3, 8, 7, 1, 1) + + self.horizontalSlider_J1 = QSlider(self.frame_31) + self.horizontalSlider_J1.setObjectName(u"horizontalSlider_J1") + self.horizontalSlider_J1.setOrientation(Qt.Orientation.Horizontal) + + self.gridLayout_7.addWidget(self.horizontalSlider_J1, 4, 2, 1, 4) + + self.label_j1 = QLabel(self.frame_31) + self.label_j1.setObjectName(u"label_j1") + + self.gridLayout_7.addWidget(self.label_j1, 3, 4, 1, 1) + + self.label_j2_min = QLabel(self.frame_31) + self.label_j2_min.setObjectName(u"label_j2_min") + + self.gridLayout_7.addWidget(self.label_j2_min, 5, 2, 1, 2) + + self.lineEdit_j5 = QLineEdit(self.frame_31) + self.lineEdit_j5.setObjectName(u"lineEdit_j5") + + self.gridLayout_7.addWidget(self.lineEdit_j5, 12, 7, 1, 1) + + self.label_j5_min = QLabel(self.frame_31) + self.label_j5_min.setObjectName(u"label_j5_min") + + self.gridLayout_7.addWidget(self.label_j5_min, 11, 2, 1, 2) + + self.label_30 = QLabel(self.frame_31) + self.label_30.setObjectName(u"label_30") + self.label_30.setStyleSheet(u"font: 700 9pt \"Microsoft YaHei UI\";") + + self.gridLayout_7.addWidget(self.label_30, 4, 0, 1, 1) + + self.label_j6_min = QLabel(self.frame_31) + self.label_j6_min.setObjectName(u"label_j6_min") + + self.gridLayout_7.addWidget(self.label_j6_min, 13, 2, 1, 2) + + self.label_j3_min = QLabel(self.frame_31) + self.label_j3_min.setObjectName(u"label_j3_min") + + self.gridLayout_7.addWidget(self.label_j3_min, 7, 2, 1, 2) + + self.horizontalSlider_J4 = QSlider(self.frame_31) + self.horizontalSlider_J4.setObjectName(u"horizontalSlider_J4") + self.horizontalSlider_J4.setOrientation(Qt.Orientation.Horizontal) + + self.gridLayout_7.addWidget(self.horizontalSlider_J4, 10, 2, 1, 4) + + self.label_j3_max = QLabel(self.frame_31) + self.label_j3_max.setObjectName(u"label_j3_max") + + self.gridLayout_7.addWidget(self.label_j3_max, 7, 5, 1, 1) + + self.pushButton_j3_sub = QPushButton(self.frame_31) + self.pushButton_j3_sub.setObjectName(u"pushButton_j3_sub") + self.pushButton_j3_sub.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color: rgb(255, 0, 0);\n" +"}\n" +"") + self.pushButton_j3_sub.setIcon(icon7) + + self.gridLayout_7.addWidget(self.pushButton_j3_sub, 8, 1, 1, 1) + + self.pushButton_j4_sub = QPushButton(self.frame_31) + self.pushButton_j4_sub.setObjectName(u"pushButton_j4_sub") + self.pushButton_j4_sub.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color: rgb(255, 0, 0);\n" +"}\n" +"") + self.pushButton_j4_sub.setIcon(icon7) + + self.gridLayout_7.addWidget(self.pushButton_j4_sub, 10, 1, 1, 1) + + self.pushButton_j1_add = QPushButton(self.frame_31) + self.pushButton_j1_add.setObjectName(u"pushButton_j1_add") + self.pushButton_j1_add.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color:rgb(0, 255, 0);\n" +"}\n" +"") + self.pushButton_j1_add.setIcon(icon6) + + self.gridLayout_7.addWidget(self.pushButton_j1_add, 4, 6, 1, 1) + + self.label_j4_min = QLabel(self.frame_31) + self.label_j4_min.setObjectName(u"label_j4_min") + + self.gridLayout_7.addWidget(self.label_j4_min, 9, 2, 1, 2) + + self.pushButton_j1_sub = QPushButton(self.frame_31) + self.pushButton_j1_sub.setObjectName(u"pushButton_j1_sub") + self.pushButton_j1_sub.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color: rgb(255, 0, 0);\n" +"}\n" +"") + self.pushButton_j1_sub.setIcon(icon7) + + self.gridLayout_7.addWidget(self.pushButton_j1_sub, 4, 1, 1, 1) + + self.pushButton_7 = QPushButton(self.frame_31) + self.pushButton_7.setObjectName(u"pushButton_7") + self.pushButton_7.setStyleSheet(u"*{\n" +"background-color: #007AD9;\n" +"font: 12pt \"\u6977\u4f53\";\n" +"border:6px solid #55AAFF;\n" +"color:#ffffff\n" +"}\n" +"*:pressed\n" +"{\n" +"background-color: #499c8a;\n" +"}\n" +"") + + self.gridLayout_7.addWidget(self.pushButton_7, 15, 0, 1, 8) + + self.horizontalSlider_J2 = QSlider(self.frame_31) + self.horizontalSlider_J2.setObjectName(u"horizontalSlider_J2") + self.horizontalSlider_J2.setOrientation(Qt.Orientation.Horizontal) + + self.gridLayout_7.addWidget(self.horizontalSlider_J2, 6, 2, 1, 4) + + self.horizontalSlider_J5 = QSlider(self.frame_31) + self.horizontalSlider_J5.setObjectName(u"horizontalSlider_J5") + self.horizontalSlider_J5.setOrientation(Qt.Orientation.Horizontal) + + self.gridLayout_7.addWidget(self.horizontalSlider_J5, 12, 2, 1, 4) + + self.label_j1_max = QLabel(self.frame_31) + self.label_j1_max.setObjectName(u"label_j1_max") + + self.gridLayout_7.addWidget(self.label_j1_max, 3, 5, 1, 1) + + self.label_j3 = QLabel(self.frame_31) + self.label_j3.setObjectName(u"label_j3") + + self.gridLayout_7.addWidget(self.label_j3, 7, 4, 1, 1) + + self.pushButton_j5_sub = QPushButton(self.frame_31) + self.pushButton_j5_sub.setObjectName(u"pushButton_j5_sub") + self.pushButton_j5_sub.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color: rgb(255, 0, 0);\n" +"}\n" +"") + self.pushButton_j5_sub.setIcon(icon7) + + self.gridLayout_7.addWidget(self.pushButton_j5_sub, 12, 1, 1, 1) + + self.label_j6_max = QLabel(self.frame_31) + self.label_j6_max.setObjectName(u"label_j6_max") + + self.gridLayout_7.addWidget(self.label_j6_max, 13, 5, 1, 1) + + self.label_j5 = QLabel(self.frame_31) + self.label_j5.setObjectName(u"label_j5") + + self.gridLayout_7.addWidget(self.label_j5, 11, 4, 1, 1) + + self.label_35 = QLabel(self.frame_31) + self.label_35.setObjectName(u"label_35") + self.label_35.setStyleSheet(u"font: 700 9pt \"Microsoft YaHei UI\";") + + self.gridLayout_7.addWidget(self.label_35, 14, 0, 1, 1) + + self.lineEdit_j1 = QLineEdit(self.frame_31) + self.lineEdit_j1.setObjectName(u"lineEdit_j1") + + self.gridLayout_7.addWidget(self.lineEdit_j1, 4, 7, 1, 1) + + self.label_j2_max = QLabel(self.frame_31) + self.label_j2_max.setObjectName(u"label_j2_max") + + self.gridLayout_7.addWidget(self.label_j2_max, 5, 5, 1, 1) + + self.label_32 = QLabel(self.frame_31) + self.label_32.setObjectName(u"label_32") + self.label_32.setStyleSheet(u"font: 700 9pt \"Microsoft YaHei UI\";") + + self.gridLayout_7.addWidget(self.label_32, 8, 0, 1, 1) + + self.pushButton_j4_add = QPushButton(self.frame_31) + self.pushButton_j4_add.setObjectName(u"pushButton_j4_add") + self.pushButton_j4_add.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color:rgb(85, 85, 255);\n" +"}\n" +"") + self.pushButton_j4_add.setIcon(icon6) + + self.gridLayout_7.addWidget(self.pushButton_j4_add, 10, 6, 1, 1) + + self.label_j6 = QLabel(self.frame_31) + self.label_j6.setObjectName(u"label_j6") + + self.gridLayout_7.addWidget(self.label_j6, 13, 4, 1, 1) + + self.label_j1_min = QLabel(self.frame_31) + self.label_j1_min.setObjectName(u"label_j1_min") + + self.gridLayout_7.addWidget(self.label_j1_min, 3, 2, 1, 1) + + self.label_j4 = QLabel(self.frame_31) + self.label_j4.setObjectName(u"label_j4") + + self.gridLayout_7.addWidget(self.label_j4, 9, 4, 1, 1) + + self.pushButton_j2_sub = QPushButton(self.frame_31) + self.pushButton_j2_sub.setObjectName(u"pushButton_j2_sub") + self.pushButton_j2_sub.setStyleSheet(u"*{\n" +"background-color: #E7EAEA;\n" +"border-radius: 10px;\n" +"font: 10pt \"\u6977\u4f53\";\n" +"}\n" +"*:hover{\n" +" background-color: rgb(85, 85, 255);\n" +"}\n" +"*:pressed{\n" +" background-color: rgb(255, 0, 0);\n" +"}\n" +"") + self.pushButton_j2_sub.setIcon(icon7) + + self.gridLayout_7.addWidget(self.pushButton_j2_sub, 6, 1, 1, 1) + + self.label_j2 = QLabel(self.frame_31) + self.label_j2.setObjectName(u"label_j2") + + self.gridLayout_7.addWidget(self.label_j2, 5, 4, 1, 1) + + self.label_31 = QLabel(self.frame_31) + self.label_31.setObjectName(u"label_31") + self.label_31.setStyleSheet(u"font: 700 9pt \"Microsoft YaHei UI\";") + + self.gridLayout_7.addWidget(self.label_31, 6, 0, 1, 1) + + self.label_manual_adjust_accuracy = QLabel(self.frame_31) + self.label_manual_adjust_accuracy.setObjectName(u"label_manual_adjust_accuracy") + + self.gridLayout_7.addWidget(self.label_manual_adjust_accuracy, 0, 2, 1, 1) + + self.label_j4_max = QLabel(self.frame_31) + self.label_j4_max.setObjectName(u"label_j4_max") + + self.gridLayout_7.addWidget(self.label_j4_max, 9, 5, 1, 1) + + self.label_33 = QLabel(self.frame_31) + self.label_33.setObjectName(u"label_33") + self.label_33.setStyleSheet(u"font: 700 9pt \"Microsoft YaHei UI\";") + + self.gridLayout_7.addWidget(self.label_33, 10, 0, 1, 1) + + self.horizontalSlider_J6 = QSlider(self.frame_31) + self.horizontalSlider_J6.setObjectName(u"horizontalSlider_J6") + self.horizontalSlider_J6.setOrientation(Qt.Orientation.Horizontal) + + self.gridLayout_7.addWidget(self.horizontalSlider_J6, 14, 2, 1, 4) + + self.lineEdit_manual_adjust_accuracy = QLineEdit(self.frame_31) + self.lineEdit_manual_adjust_accuracy.setObjectName(u"lineEdit_manual_adjust_accuracy") + + self.gridLayout_7.addWidget(self.lineEdit_manual_adjust_accuracy, 0, 3, 1, 1) + + self.gridLayout_7.setColumnStretch(0, 1) + self.gridLayout_7.setColumnStretch(1, 1) + self.gridLayout_7.setColumnStretch(2, 1) + self.gridLayout_7.setColumnStretch(3, 6) + self.gridLayout_7.setColumnStretch(4, 1) + self.gridLayout_7.setColumnStretch(5, 1) + self.gridLayout_7.setColumnStretch(6, 1) + self.gridLayout_7.setColumnStretch(7, 2) + + self.horizontalLayout_17.addWidget(self.frame_31) + + + self.verticalLayout_19.addWidget(self.frame_30) + + self.stackedWidget_view.addWidget(self.page_2) + + self.verticalLayout_8.addWidget(self.stackedWidget_view) self.horizontalLayout_4.addWidget(self.frame_view) @@ -1552,17 +2119,26 @@ class Ui_MainWindow(object): self.verticalLayout_11.addWidget(self.comboBox_lineIndex) - self.frame_23 = QFrame(self.frame_20) + self.stackedWidget_num = QStackedWidget(self.frame_20) + self.stackedWidget_num.setObjectName(u"stackedWidget_num") + self.stackedWidget_num.setStyleSheet(u"border:none;") + self.page_5 = QWidget() + self.page_5.setObjectName(u"page_5") + self.horizontalLayout_18 = QHBoxLayout(self.page_5) + self.horizontalLayout_18.setSpacing(0) + self.horizontalLayout_18.setObjectName(u"horizontalLayout_18") + self.horizontalLayout_18.setContentsMargins(0, 0, 0, 0) + self.frame_23 = QFrame(self.page_5) self.frame_23.setObjectName(u"frame_23") self.frame_23.setFrameShape(QFrame.Shape.StyledPanel) self.frame_23.setFrameShadow(QFrame.Shadow.Raised) self.gridLayout = QGridLayout(self.frame_23) self.gridLayout.setObjectName(u"gridLayout") - self.pushButton_num1_5 = QPushButton(self.frame_23) - self.pushButton_num1_5.setObjectName(u"pushButton_num1_5") - sizePolicy2.setHeightForWidth(self.pushButton_num1_5.sizePolicy().hasHeightForWidth()) - self.pushButton_num1_5.setSizePolicy(sizePolicy2) - self.pushButton_num1_5.setStyleSheet(u"\n" + self.pushButton_num1 = QPushButton(self.frame_23) + self.pushButton_num1.setObjectName(u"pushButton_num1") + sizePolicy1.setHeightForWidth(self.pushButton_num1.sizePolicy().hasHeightForWidth()) + self.pushButton_num1.setSizePolicy(sizePolicy1) + self.pushButton_num1.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" "color:#ffffff\n" @@ -1575,12 +2151,12 @@ class Ui_MainWindow(object): " color: white;\n" " }") - self.gridLayout.addWidget(self.pushButton_num1_5, 0, 0, 1, 1) + self.gridLayout.addWidget(self.pushButton_num1, 0, 0, 1, 1) self.pushButton_num2 = QPushButton(self.frame_23) self.pushButton_num2.setObjectName(u"pushButton_num2") - sizePolicy2.setHeightForWidth(self.pushButton_num2.sizePolicy().hasHeightForWidth()) - self.pushButton_num2.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.pushButton_num2.sizePolicy().hasHeightForWidth()) + self.pushButton_num2.setSizePolicy(sizePolicy1) self.pushButton_num2.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" @@ -1598,8 +2174,8 @@ class Ui_MainWindow(object): self.pushButton_num3 = QPushButton(self.frame_23) self.pushButton_num3.setObjectName(u"pushButton_num3") - sizePolicy2.setHeightForWidth(self.pushButton_num3.sizePolicy().hasHeightForWidth()) - self.pushButton_num3.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.pushButton_num3.sizePolicy().hasHeightForWidth()) + self.pushButton_num3.setSizePolicy(sizePolicy1) self.pushButton_num3.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" @@ -1617,8 +2193,8 @@ class Ui_MainWindow(object): self.pushButton_num4 = QPushButton(self.frame_23) self.pushButton_num4.setObjectName(u"pushButton_num4") - sizePolicy2.setHeightForWidth(self.pushButton_num4.sizePolicy().hasHeightForWidth()) - self.pushButton_num4.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.pushButton_num4.sizePolicy().hasHeightForWidth()) + self.pushButton_num4.setSizePolicy(sizePolicy1) self.pushButton_num4.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" @@ -1636,8 +2212,8 @@ class Ui_MainWindow(object): self.pushButton_num5 = QPushButton(self.frame_23) self.pushButton_num5.setObjectName(u"pushButton_num5") - sizePolicy2.setHeightForWidth(self.pushButton_num5.sizePolicy().hasHeightForWidth()) - self.pushButton_num5.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.pushButton_num5.sizePolicy().hasHeightForWidth()) + self.pushButton_num5.setSizePolicy(sizePolicy1) self.pushButton_num5.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" @@ -1653,11 +2229,11 @@ class Ui_MainWindow(object): self.gridLayout.addWidget(self.pushButton_num5, 1, 1, 1, 1) - self.pushButton_num5_2 = QPushButton(self.frame_23) - self.pushButton_num5_2.setObjectName(u"pushButton_num5_2") - sizePolicy2.setHeightForWidth(self.pushButton_num5_2.sizePolicy().hasHeightForWidth()) - self.pushButton_num5_2.setSizePolicy(sizePolicy2) - self.pushButton_num5_2.setStyleSheet(u"\n" + self.pushButton_num6 = QPushButton(self.frame_23) + self.pushButton_num6.setObjectName(u"pushButton_num6") + sizePolicy1.setHeightForWidth(self.pushButton_num6.sizePolicy().hasHeightForWidth()) + self.pushButton_num6.setSizePolicy(sizePolicy1) + self.pushButton_num6.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" "color:#ffffff\n" @@ -1670,20 +2246,20 @@ class Ui_MainWindow(object): " color: white;\n" " }") - self.gridLayout.addWidget(self.pushButton_num5_2, 1, 2, 1, 1) + self.gridLayout.addWidget(self.pushButton_num6, 1, 2, 1, 1) self.lineEdit_num = QLineEdit(self.frame_23) self.lineEdit_num.setObjectName(u"lineEdit_num") - sizePolicy2.setHeightForWidth(self.lineEdit_num.sizePolicy().hasHeightForWidth()) - self.lineEdit_num.setSizePolicy(sizePolicy2) + sizePolicy1.setHeightForWidth(self.lineEdit_num.sizePolicy().hasHeightForWidth()) + self.lineEdit_num.setSizePolicy(sizePolicy1) self.gridLayout.addWidget(self.lineEdit_num, 2, 0, 1, 1) - self.pushButton_num1_13 = QPushButton(self.frame_23) - self.pushButton_num1_13.setObjectName(u"pushButton_num1_13") - sizePolicy2.setHeightForWidth(self.pushButton_num1_13.sizePolicy().hasHeightForWidth()) - self.pushButton_num1_13.setSizePolicy(sizePolicy2) - self.pushButton_num1_13.setStyleSheet(u"\n" + self.pushButton_num_confirm = QPushButton(self.frame_23) + self.pushButton_num_confirm.setObjectName(u"pushButton_num_confirm") + sizePolicy1.setHeightForWidth(self.pushButton_num_confirm.sizePolicy().hasHeightForWidth()) + self.pushButton_num_confirm.setSizePolicy(sizePolicy1) + self.pushButton_num_confirm.setStyleSheet(u"\n" "*{background-color: #101F3F;\n" "font: 10pt \"\u6977\u4f53\";\n" "color:#ffffff\n" @@ -1696,29 +2272,87 @@ class Ui_MainWindow(object): " color: white;\n" " }") - self.gridLayout.addWidget(self.pushButton_num1_13, 2, 1, 1, 2) + self.gridLayout.addWidget(self.pushButton_num_confirm, 2, 1, 1, 2) self.gridLayout.setColumnStretch(0, 1) self.gridLayout.setColumnStretch(1, 1) self.gridLayout.setColumnStretch(2, 1) - self.verticalLayout_11.addWidget(self.frame_23) + self.horizontalLayout_18.addWidget(self.frame_23) + + self.stackedWidget_num.addWidget(self.page_5) + self.page_6 = QWidget() + self.page_6.setObjectName(u"page_6") + self.verticalLayout_20 = QVBoxLayout(self.page_6) + self.verticalLayout_20.setSpacing(0) + self.verticalLayout_20.setObjectName(u"verticalLayout_20") + self.verticalLayout_20.setContentsMargins(0, 0, 0, 0) + self.frame_32 = QFrame(self.page_6) + self.frame_32.setObjectName(u"frame_32") + self.frame_32.setFrameShape(QFrame.Shape.StyledPanel) + self.frame_32.setFrameShadow(QFrame.Shadow.Raised) + self.verticalLayout_21 = QVBoxLayout(self.frame_32) + self.verticalLayout_21.setObjectName(u"verticalLayout_21") + self.pushButton_AddNum = QPushButton(self.frame_32) + self.pushButton_AddNum.setObjectName(u"pushButton_AddNum") + sizePolicy4.setHeightForWidth(self.pushButton_AddNum.sizePolicy().hasHeightForWidth()) + self.pushButton_AddNum.setSizePolicy(sizePolicy4) + self.pushButton_AddNum.setStyleSheet(u"*{\n" +"background-color: #499C54;\n" +"font: 12pt \"\u6977\u4f53\";\n" +"border: 1px solid #dcdfe6;\n" +"border-radius: 10px;\n" +"}\n" +"*:pressed\n" +"{\n" +"background-color: #499c8a;\n" +"}\n" +"") + self.pushButton_AddNum.setIcon(icon6) + + self.verticalLayout_21.addWidget(self.pushButton_AddNum) + + self.pushButton_SubNum = QPushButton(self.frame_32) + self.pushButton_SubNum.setObjectName(u"pushButton_SubNum") + sizePolicy4.setHeightForWidth(self.pushButton_SubNum.sizePolicy().hasHeightForWidth()) + self.pushButton_SubNum.setSizePolicy(sizePolicy4) + self.pushButton_SubNum.setStyleSheet(u"*{\n" +"background-color: rgb(255, 0, 0);\n" +"font: 12pt \"\u6977\u4f53\";\n" +"border: 1px solid #dcdfe6;\n" +"border-radius: 10px;\n" +"}\n" +"*:pressed\n" +"{\n" +"background-color: #499c8a;\n" +"}\n" +"") + self.pushButton_SubNum.setIcon(icon7) + + self.verticalLayout_21.addWidget(self.pushButton_SubNum) + + + self.verticalLayout_20.addWidget(self.frame_32) + + self.stackedWidget_num.addWidget(self.page_6) + + self.verticalLayout_11.addWidget(self.stackedWidget_num) self.verticalLayout_10.addWidget(self.frame_20) self.frame_21 = QFrame(self.frame_right) self.frame_21.setObjectName(u"frame_21") - sizePolicy5.setHeightForWidth(self.frame_21.sizePolicy().hasHeightForWidth()) - self.frame_21.setSizePolicy(sizePolicy5) + sizePolicy3.setHeightForWidth(self.frame_21.sizePolicy().hasHeightForWidth()) + self.frame_21.setSizePolicy(sizePolicy3) self.frame_21.setFrameShape(QFrame.Shape.StyledPanel) self.frame_21.setFrameShadow(QFrame.Shadow.Raised) self.gridLayout_2 = QGridLayout(self.frame_21) self.gridLayout_2.setObjectName(u"gridLayout_2") self.pushButton_startFeed = QPushButton(self.frame_21) self.pushButton_startFeed.setObjectName(u"pushButton_startFeed") - sizePolicy1.setHeightForWidth(self.pushButton_startFeed.sizePolicy().hasHeightForWidth()) - self.pushButton_startFeed.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_startFeed.sizePolicy().hasHeightForWidth()) + self.pushButton_startFeed.setSizePolicy(sizePolicy4) self.pushButton_startFeed.setStyleSheet(u"*{\n" "background-color: #499C54;\n" "font: 9pt \"\u6977\u4f53\";\n" @@ -1730,15 +2364,15 @@ class Ui_MainWindow(object): "background-color: #499c8a;\n" "}\n" "") - icon4 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart)) - self.pushButton_startFeed.setIcon(icon4) + icon8 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart)) + self.pushButton_startFeed.setIcon(icon8) self.gridLayout_2.addWidget(self.pushButton_startFeed, 0, 0, 1, 1) self.pushButton_pauseFeed = QPushButton(self.frame_21) self.pushButton_pauseFeed.setObjectName(u"pushButton_pauseFeed") - sizePolicy1.setHeightForWidth(self.pushButton_pauseFeed.sizePolicy().hasHeightForWidth()) - self.pushButton_pauseFeed.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_pauseFeed.sizePolicy().hasHeightForWidth()) + self.pushButton_pauseFeed.setSizePolicy(sizePolicy4) self.pushButton_pauseFeed.setStyleSheet(u"*{\n" "background-color: #2196F3;\n" "font: 9pt \"\u6977\u4f53\";\n" @@ -1749,15 +2383,15 @@ class Ui_MainWindow(object): "background-color: #499c8a;\n" "}\n" "") - icon5 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackPause)) - self.pushButton_pauseFeed.setIcon(icon5) + icon9 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackPause)) + self.pushButton_pauseFeed.setIcon(icon9) self.gridLayout_2.addWidget(self.pushButton_pauseFeed, 0, 1, 1, 2) self.pushButton_17 = QPushButton(self.frame_21) self.pushButton_17.setObjectName(u"pushButton_17") - sizePolicy1.setHeightForWidth(self.pushButton_17.sizePolicy().hasHeightForWidth()) - self.pushButton_17.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_17.sizePolicy().hasHeightForWidth()) + self.pushButton_17.setSizePolicy(sizePolicy4) self.pushButton_17.setStyleSheet(u"*{\n" "background-color: #FFF000;\n" "font: 9pt \"\u6977\u4f53\";\n" @@ -1769,15 +2403,15 @@ class Ui_MainWindow(object): "}\n" "\n" "") - icon6 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.WindowClose)) - self.pushButton_17.setIcon(icon6) + icon10 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.WindowClose)) + self.pushButton_17.setIcon(icon10) self.gridLayout_2.addWidget(self.pushButton_17, 2, 0, 1, 1) self.pushButton_clearAlarm = QPushButton(self.frame_21) self.pushButton_clearAlarm.setObjectName(u"pushButton_clearAlarm") - sizePolicy1.setHeightForWidth(self.pushButton_clearAlarm.sizePolicy().hasHeightForWidth()) - self.pushButton_clearAlarm.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_clearAlarm.sizePolicy().hasHeightForWidth()) + self.pushButton_clearAlarm.setSizePolicy(sizePolicy4) self.pushButton_clearAlarm.setStyleSheet(u"*{\n" "background-color: #1CB2B1;\n" "font: 9pt \"\u6977\u4f53\";\n" @@ -1789,15 +2423,15 @@ class Ui_MainWindow(object): "}\n" "\n" "") - icon7 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.SystemReboot)) - self.pushButton_clearAlarm.setIcon(icon7) + icon11 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.SystemReboot)) + self.pushButton_clearAlarm.setIcon(icon11) self.gridLayout_2.addWidget(self.pushButton_clearAlarm, 2, 1, 1, 2) self.pushButton_stopFeed = QPushButton(self.frame_21) self.pushButton_stopFeed.setObjectName(u"pushButton_stopFeed") - sizePolicy1.setHeightForWidth(self.pushButton_stopFeed.sizePolicy().hasHeightForWidth()) - self.pushButton_stopFeed.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_stopFeed.sizePolicy().hasHeightForWidth()) + self.pushButton_stopFeed.setSizePolicy(sizePolicy4) self.pushButton_stopFeed.setStyleSheet(u"*{\n" "background-color: #FF0000;\n" "font: 9pt \"\u6977\u4f53\";\n" @@ -1808,15 +2442,15 @@ class Ui_MainWindow(object): "background-color: #499c8a;\n" "}\n" "") - icon8 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.SystemShutdown)) - self.pushButton_stopFeed.setIcon(icon8) + icon12 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.SystemShutdown)) + self.pushButton_stopFeed.setIcon(icon12) self.gridLayout_2.addWidget(self.pushButton_stopFeed, 1, 0, 1, 1) self.pushButton_reset = QPushButton(self.frame_21) self.pushButton_reset.setObjectName(u"pushButton_reset") - sizePolicy1.setHeightForWidth(self.pushButton_reset.sizePolicy().hasHeightForWidth()) - self.pushButton_reset.setSizePolicy(sizePolicy1) + sizePolicy4.setHeightForWidth(self.pushButton_reset.sizePolicy().hasHeightForWidth()) + self.pushButton_reset.setSizePolicy(sizePolicy4) self.pushButton_reset.setStyleSheet(u"*{\n" "background-color: #FFFFBF;\n" "font: 9pt \"\u6977\u4f53\";\n" @@ -1827,8 +2461,8 @@ class Ui_MainWindow(object): "background-color: #FFF000;\n" "}\n" "") - icon9 = QIcon(QIcon.fromTheme(u"media-optical")) - self.pushButton_reset.setIcon(icon9) + icon13 = QIcon(QIcon.fromTheme(u"media-optical")) + self.pushButton_reset.setIcon(icon13) self.gridLayout_2.addWidget(self.pushButton_reset, 1, 1, 1, 2) @@ -1937,11 +2571,11 @@ class Ui_MainWindow(object): self.horizontalLayout_11.addWidget(self.label_4) - self.label_5 = QLabel(self.frame_7) - self.label_5.setObjectName(u"label_5") - self.label_5.setStyleSheet(u"color: rgb(255, 0, 0);") + self.label_maxNum = QLabel(self.frame_7) + self.label_maxNum.setObjectName(u"label_maxNum") + self.label_maxNum.setStyleSheet(u"color: rgb(255, 0, 0);") - self.horizontalLayout_11.addWidget(self.label_5) + self.horizontalLayout_11.addWidget(self.label_maxNum) self.horizontalLayout_11.setStretch(0, 1) self.horizontalLayout_11.setStretch(1, 5) @@ -1982,7 +2616,7 @@ class Ui_MainWindow(object): self.horizontalLayout_4.addWidget(self.frame_right) - self.horizontalLayout_4.setStretch(0, 50) + self.horizontalLayout_4.setStretch(0, 45) self.horizontalLayout_4.setStretch(1, 137) self.horizontalLayout_4.setStretch(2, 59) @@ -1994,8 +2628,9 @@ class Ui_MainWindow(object): self.retranslateUi(MainWindow) - self.stackedWidget.setCurrentIndex(0) - self.tabWidget.setCurrentIndex(0) + self.stackedWidget_view.setCurrentIndex(0) + self.tabWidget.setCurrentIndex(1) + self.stackedWidget_num.setCurrentIndex(0) QMetaObject.connectSlotsByName(MainWindow) @@ -2011,15 +2646,12 @@ class Ui_MainWindow(object): self.pushButton_4.setText(QCoreApplication.translate("MainWindow", u"\u63a7\u5236\u4e2d\u5fc3", None)) self.pushButton_5.setText(QCoreApplication.translate("MainWindow", u"\u767b\u5f55", None)) self.pushButton_6.setText(QCoreApplication.translate("MainWindow", u"\u9000\u51fa", None)) - self.pushButton_7.setText(QCoreApplication.translate("MainWindow", u"\u7cfb\u7edf\u8bbe\u7f6e", None)) - self.pushButton_8.setText(QCoreApplication.translate("MainWindow", u"\u751f\u4ea7\u754c\u9762", None)) - self.pushButton_9.setText(QCoreApplication.translate("MainWindow", u"\u4f4d\u7f6e\u8bbe\u5b9a", None)) - self.pushButton_10.setText(QCoreApplication.translate("MainWindow", u"IO\u9762\u677f", None)) - self.pushButton_15.setText(QCoreApplication.translate("MainWindow", u"\u70b9\u4f4d\u8c03\u8bd5", None)) + self.pushButton_sysseting.setText(QCoreApplication.translate("MainWindow", u"\u7cfb\u7edf\u8bbe\u7f6e", None)) + self.pushButton_leftmenu_produce.setText(QCoreApplication.translate("MainWindow", u"\u751f\u4ea7\u754c\u9762", None)) + self.pushButton_leftmenu_position.setText(QCoreApplication.translate("MainWindow", u"\u4f4d\u7f6e\u8bbe\u5b9a", None)) + self.pushButton_leftmenu_baseSeting.setText(QCoreApplication.translate("MainWindow", u"\u57fa\u7840\u8bbe\u7f6e", None)) + self.pushButton_leftmenu_posDebug.setText(QCoreApplication.translate("MainWindow", u"\u70b9\u4f4d\u8c03\u8bd5", None)) self.pushButton_11.setText(QCoreApplication.translate("MainWindow", u"\u5176\u4ed6\u8bbe\u7f6e", None)) - self.pushButton_12.setText(QCoreApplication.translate("MainWindow", u"\u8bbe\u7f6e1", None)) - self.pushButton_13.setText(QCoreApplication.translate("MainWindow", u"\u8bbe\u7f6e2", None)) - self.pushButton_14.setText(QCoreApplication.translate("MainWindow", u"\u8bbe\u7f6e3", None)) self.pushButton_sign_go.setText("") self.label_sign_go.setText(QCoreApplication.translate("MainWindow", u"\u53d6\u6599\u4e2d...", None)) self.pushButton_sign_photo.setText("") @@ -2031,16 +2663,18 @@ class Ui_MainWindow(object): self.label_move_sign.setText(QCoreApplication.translate("MainWindow", u"\u6b63\u5728\u79fb\u52a8", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), QCoreApplication.translate("MainWindow", u"\u65e5\u5fd7", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("MainWindow", u"\u62a5\u8b66", None)) + self.label_53.setText(QCoreApplication.translate("MainWindow", u"\u8fde\u63a5\u72b6\u6001\uff1a", None)) + self.label_connect_status.setText("") self.label_8.setText(QCoreApplication.translate("MainWindow", u"\u5f53\u524d\u6a21\u5f0f\uff1a", None)) self.label_status_model.setText(QCoreApplication.translate("MainWindow", u"\u81ea\u52a8", None)) self.label_10.setText(QCoreApplication.translate("MainWindow", u"\u8fdc\u7a0b\u6307\u4ee4\u6570\u91cf\uff1a", None)) - self.label_status_remoteCmdLen.setText(QCoreApplication.translate("MainWindow", u"\u81ea\u52a8", None)) + self.label_status_remoteCmdLen.setText(QCoreApplication.translate("MainWindow", u"0", None)) self.label_13.setText(QCoreApplication.translate("MainWindow", u"\u5f53\u524d\u901f\u5ea6\uff1a", None)) - self.pushButton_speed.setText(QCoreApplication.translate("MainWindow", u"\u81ea\u52a8", None)) + self.pushButton_speed.setText(QCoreApplication.translate("MainWindow", u"0.0", None)) self.label_11.setText(QCoreApplication.translate("MainWindow", u"\u5f53\u524d\u5de5\u5177\u53f7\uff1a", None)) - self.label_status_model_2.setText(QCoreApplication.translate("MainWindow", u"\u81ea\u52a8", None)) + self.label_status_model_2.setText(QCoreApplication.translate("MainWindow", u"1", None)) self.label_12.setText(QCoreApplication.translate("MainWindow", u"\u62a5\u8b66\u4ee3\u7801\uff1a", None)) - self.label_status_model_3.setText(QCoreApplication.translate("MainWindow", u"\u81ea\u52a8", None)) + self.label_status_model_3.setText(QCoreApplication.translate("MainWindow", u"200", None)) self.pushButton_tableFeedSet_save.setText(QCoreApplication.translate("MainWindow", u"\u4fdd\u5b58", None)) self.pushButton_tableFeedSet_addRow.setText(QCoreApplication.translate("MainWindow", u"\u65b0\u589e\u7ebf", None)) self.pushButton_tableFeedSet_deleRow.setText(QCoreApplication.translate("MainWindow", u"\u5220\u9664\u7ebf", None)) @@ -2069,6 +2703,49 @@ class Ui_MainWindow(object): self.label_22.setText(QCoreApplication.translate("MainWindow", u"Z1:", None)) self.pushButton_get_p1_2.setText(QCoreApplication.translate("MainWindow", u"\u8bb0\u5f55\u70b9\u4f4d1", None)) self.pushButton_set_p1_2.setText(QCoreApplication.translate("MainWindow", u"\u8bb0\u5f55\u70b9\u4f4d1", None)) + self.label_28.setText(QCoreApplication.translate("MainWindow", u"\u5168\u5c40\u901f\u5ea6\uff1a", None)) + self.label_29.setText(QCoreApplication.translate("MainWindow", u"\u8c03\u8bd5\u901f\u5ea6\uff1a", None)) + self.pushButton_saveSeting.setText(QCoreApplication.translate("MainWindow", u"\u4fdd\u5b58\u8bbe\u7f6e", None)) + self.pushButton_j3_add.setText("") + self.pushButton_j5_add.setText("") + self.pushButton_j6_sub.setText("") + self.label_34.setText(QCoreApplication.translate("MainWindow", u"J5", None)) + self.pushButton_j6_add.setText("") + self.label_j5_max.setText(QCoreApplication.translate("MainWindow", u"150", None)) + self.pushButton_j2_add.setText("") + self.label_j1.setText("") + self.label_j2_min.setText(QCoreApplication.translate("MainWindow", u"-150", None)) + self.label_j5_min.setText(QCoreApplication.translate("MainWindow", u"-150", None)) + self.label_30.setText(QCoreApplication.translate("MainWindow", u"J1", None)) + self.label_j6_min.setText(QCoreApplication.translate("MainWindow", u"-150", None)) + self.label_j3_min.setText(QCoreApplication.translate("MainWindow", u"-150", None)) + self.label_j3_max.setText(QCoreApplication.translate("MainWindow", u"150", None)) + self.pushButton_j3_sub.setText("") + self.pushButton_j4_sub.setText("") + self.pushButton_j1_add.setText("") + self.label_j4_min.setText(QCoreApplication.translate("MainWindow", u"-150", None)) + self.pushButton_j1_sub.setText("") + self.pushButton_7.setText(QCoreApplication.translate("MainWindow", u"\u786e\u5b9a\u79fb\u52a8", None)) + self.label_j1_max.setText(QCoreApplication.translate("MainWindow", u"+10", None)) + self.label_j3.setText("") + self.pushButton_j5_sub.setText("") + self.label_j6_max.setText(QCoreApplication.translate("MainWindow", u"150", None)) + self.label_j5.setText("") + self.label_35.setText(QCoreApplication.translate("MainWindow", u"J6", None)) + self.label_j2_max.setText(QCoreApplication.translate("MainWindow", u"150", None)) + self.label_32.setText(QCoreApplication.translate("MainWindow", u"J3", None)) + self.pushButton_j4_add.setText("") + self.label_j6.setText("") + self.label_j1_min.setText(QCoreApplication.translate("MainWindow", u"-10", None)) + self.label_j4.setText("") + self.pushButton_j2_sub.setText("") + self.label_j2.setText("") + self.label_31.setText(QCoreApplication.translate("MainWindow", u"J2", None)) + self.label_manual_adjust_accuracy.setText(QCoreApplication.translate("MainWindow", u"\u8c03\u6574\u95f4\u9694\uff1a", None)) + self.label_j4_max.setText(QCoreApplication.translate("MainWindow", u"150", None)) + self.label_33.setText(QCoreApplication.translate("MainWindow", u"J4", None)) + self.lineEdit_manual_adjust_accuracy.setText(QCoreApplication.translate("MainWindow", u"1", None)) + self.lineEdit_manual_adjust_accuracy.setPlaceholderText(QCoreApplication.translate("MainWindow", u"0.001-20", None)) self.label_3.setText("") self.label_date.setText(QCoreApplication.translate("MainWindow", u"2024-08-01", None)) self.label_time.setText(QCoreApplication.translate("MainWindow", u"08:00:00", None)) @@ -2076,13 +2753,15 @@ class Ui_MainWindow(object): self.comboBox_lineIndex.setItemText(1, QCoreApplication.translate("MainWindow", u"\u65b0\u5efa\u7ebf", None)) self.comboBox_lineIndex.setCurrentText(QCoreApplication.translate("MainWindow", u"1\u53f7\u7ebf", None)) - self.pushButton_num1_5.setText(QCoreApplication.translate("MainWindow", u"10", None)) + self.pushButton_num1.setText(QCoreApplication.translate("MainWindow", u"10", None)) self.pushButton_num2.setText(QCoreApplication.translate("MainWindow", u"20", None)) self.pushButton_num3.setText(QCoreApplication.translate("MainWindow", u"30", None)) self.pushButton_num4.setText(QCoreApplication.translate("MainWindow", u"40", None)) self.pushButton_num5.setText(QCoreApplication.translate("MainWindow", u"50", None)) - self.pushButton_num5_2.setText(QCoreApplication.translate("MainWindow", u"60", None)) - self.pushButton_num1_13.setText(QCoreApplication.translate("MainWindow", u"\u786e\u5b9a", None)) + self.pushButton_num6.setText(QCoreApplication.translate("MainWindow", u"60", None)) + self.pushButton_num_confirm.setText(QCoreApplication.translate("MainWindow", u"\u786e\u5b9a", None)) + self.pushButton_AddNum.setText(QCoreApplication.translate("MainWindow", u"\u8865\u4e00\u888b", None)) + self.pushButton_SubNum.setText(QCoreApplication.translate("MainWindow", u"\u6263\u4e00\u888b", None)) self.pushButton_startFeed.setText(QCoreApplication.translate("MainWindow", u"\u542f\u52a8", None)) self.pushButton_pauseFeed.setText(QCoreApplication.translate("MainWindow", u"\u6682\u505c", None)) self.pushButton_17.setText(QCoreApplication.translate("MainWindow", u"\u6025\u505c", None)) @@ -2090,7 +2769,7 @@ class Ui_MainWindow(object): self.pushButton_stopFeed.setText(QCoreApplication.translate("MainWindow", u"\u505c\u6b62", None)) self.pushButton_reset.setText(QCoreApplication.translate("MainWindow", u"\u590d\u4f4d", None)) self.label_4.setText(QCoreApplication.translate("MainWindow", u"\u76ee\u6807\u888b\u6570\uff1a", None)) - self.label_5.setText(QCoreApplication.translate("MainWindow", u"10", None)) + self.label_maxNum.setText(QCoreApplication.translate("MainWindow", u"10", None)) self.label_6.setText(QCoreApplication.translate("MainWindow", u"\u5269\u4f59\u888b\u6570\uff1a", None)) self.label_7.setText(QCoreApplication.translate("MainWindow", u"1", None)) # retranslateUi