zhongfuqiang上传最新代码20250325
This commit is contained in:
@@ -9,39 +9,62 @@
|
||||
struct UI_config {
|
||||
int SL100_FACTORY_TOOL_W;
|
||||
int SL100_FACTORY_TOOL_H;
|
||||
int LOG_LEVEL;
|
||||
|
||||
QString TOOL_VERSION; // "SL100 工厂产测工具 - V0.0.7"
|
||||
QString START_LISTENING; // "开始监听\n(Start Listening...)"
|
||||
QString ONE_CLICKED_TEST; // "一键功能测试"
|
||||
QString FRONT_BOARD_NAME; // "前 板"
|
||||
QString BACK_BOARD_NAME; // "后 板"
|
||||
QString ALL_BOARD_NAME; // "整 机"
|
||||
QString FRONT_DEVICE_INFO; // "前板设备信息"
|
||||
QString BACK_DEVICE_INFO; // "后板设备信息"
|
||||
QString ALL_PRODUCT_INFO; // "工厂生产信息"
|
||||
QString ALL_DEVICE_INFO; // "整机设备信息"
|
||||
QString FRONT_TUYU_LICENSE; // "算法 license"
|
||||
QString BACK_GET_UUID_SN; // "后板获取 UUID/SN"
|
||||
QString FRONT_TEST_ITEM; // "前板测试项"
|
||||
QString FRONT_CONFID_ITEM; // "前板配置项"
|
||||
QString INPUT_CONFIG_PARA; // "请输入配置参数..."
|
||||
QString BACK_TEST_ITEM; // "后板测试项"
|
||||
QString BACK_CONFID_ITEM; // "后板配置项"
|
||||
QString IMAGE_DISPLAY_TAB; // "图像显示区"
|
||||
QString VIDEO_DISPLAY_TAB; // "视频显示区"
|
||||
QString ALL_TEST_ITEM; // "整机测试项"
|
||||
QString ALL_CONFID_ITEM; // "整机配置项"
|
||||
QString LEFT_LENS; // "左边镜头"
|
||||
QString RIGHT_LENS; // "右边镜头"
|
||||
QString CAT_EYE_LENS_RGB; // "猫眼镜头(RGB)"
|
||||
QString CAT_EYE_LENS_IR; // "猫眼镜头(IR)"
|
||||
QString BIG_WINDOW_PRE_VIDEO; // "大窗口播放视频"
|
||||
QString RESOLUTION_EDIT; // "分辨率:"
|
||||
|
||||
QString TOOL_VERSION; // "SL100 工厂产测工具 - V0.0.7"
|
||||
QString START_LISTENING; // "开始监听\n(Start Listening...)"
|
||||
QString ONE_CLICKED_TEST; // "一键功能测试"
|
||||
QString SELECT_MDSN_IP; // "Select MDns IP:"
|
||||
QString SELECT_COM_PORT; // "COM Port:"
|
||||
QString CONNECT_FRONT_BOARD; // "连接前板"
|
||||
QString SAVE_LOG; // "Save"
|
||||
QString CLEAR_LOG; // "Clear"
|
||||
QString FRONT_BOARD_NAME; // "前 板"
|
||||
QString BACK_BOARD_NAME; // "后 板"
|
||||
QString ALL_BOARD_NAME; // "整 机"
|
||||
QString FRONT_DEVICE_INFO; // "前板设备信息"
|
||||
QString FRONT_GET_HW_INFO; // "前板获取硬件信息"
|
||||
QString FRONT_GET_LICENSE_INFO; // "前板获取license信息"
|
||||
QString FRONT_WR_LICENSE_INFO; // "前板写license信息"
|
||||
QString BACK_DEVICE_INFO; // "后板设备信息"
|
||||
QString BACK_GET_MAC_ADDR; // "后板获取MAC地址"
|
||||
QString BACK_GET_UUIDSN; // "后板获取UUID和SN"
|
||||
QString BACK_WR_UUID_SN; // "后板写入UUID和SN"
|
||||
QString BACK_CONFIRM_BURN; // "后板确认烧录"
|
||||
QString ALL_PRODUCT_INFO; // "工厂生产信息"
|
||||
QString ALL_DEVICE_INFO; // "整机设备信息"
|
||||
QString FRONT_TUYU_LICENSE; // "算法 license"
|
||||
QString BACK_GET_UUID_SN; // "后板获取 UUID/SN"
|
||||
QString FRONT_TEST_ITEM; // "前板测试项"
|
||||
int FRONT_TEST_ITEM_CNT; // 前板测试项按键数量
|
||||
QString FRONT_CONFID_ITEM; // "前板配置项"
|
||||
int FRONT_CONFID_ITEM_CNT; // 前板配置项按键数量
|
||||
QString INPUT_CONFIG_PARA; // "请输入配置参数..."
|
||||
QString BACK_TEST_ITEM; // "后板测试项"
|
||||
int BACK_TEST_ITEM_CNT; // 后板测试项按键数量
|
||||
QString BACK_CONFID_ITEM; // "后板配置项"
|
||||
int BACK_CONFID_ITEM_CNT; // 后板配置项按键数量
|
||||
QString IMAGE_DISPLAY_TAB; // "图像显示区"
|
||||
QString VIDEO_DISPLAY_TAB; // "视频显示区"
|
||||
QString ALL_TEST_ITEM; // "整机测试项"
|
||||
QString ALL_CONFID_ITEM; // "整机配置项"
|
||||
QString LEFT_LENS; // "左边镜头"
|
||||
QString RIGHT_LENS; // "右边镜头"
|
||||
QString CAT_EYE_LENS_RGB; // "猫眼镜头(RGB)"
|
||||
QString CAT_EYE_LENS_IR; // "猫眼镜头(IR)"
|
||||
QString BIG_WINDOW_PRE_VIDEO; // "大窗口播放视频"
|
||||
QString RESOLUTION_EDIT; // "分辨率:"
|
||||
QString NO_DEV_CONNECT; // "No device is connected !!!"
|
||||
QString PLEASE_SELECT_IMG_LENS; // "Please select \"左边镜头\" or \"右边镜头\" to get image!!!"
|
||||
QString PLEASE_SELECT_VID_LENS; // "Please select lens to get video!!!"
|
||||
QString THIS_DEV_DISCONNECT; // "This device is not connected !!!"
|
||||
QString MDNS_HOSE_NAME; // "SL100-FactoryTool-Mdns"
|
||||
QString MDNS_SERVICE_NAME; // "_myservice._tcp.local."
|
||||
quint16 TCP_CONNECT_PORT; // 12412
|
||||
};
|
||||
|
||||
QMap<QString, QString> parseIniFile(const QString& filePath);
|
||||
UI_config loadConfig(const QString& filePath);
|
||||
UI_config loadUIConfig(const QString& filePath);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -37,42 +37,67 @@ QMap<QString, QString> parseIniFile(const QString& filePath)
|
||||
return configMap;
|
||||
}
|
||||
|
||||
UI_config loadConfig(const QString& filePath)
|
||||
UI_config loadUIConfig(const QString& filePath)
|
||||
{
|
||||
UI_config config;
|
||||
QMap<QString, QString> settings = parseIniFile(filePath);
|
||||
// 可直接修改 UI_config.ini 文件
|
||||
// 如果删除 UI_config.ini 文件中的 Labels 项,则使用如下代码中的默认命名配置
|
||||
// Labels 项 默认命名配置
|
||||
config.SL100_FACTORY_TOOL_W = settings.value("Window/width", "1340").toInt();
|
||||
config.SL100_FACTORY_TOOL_H = settings.value("Window/height", "900").toInt();
|
||||
config.TOOL_VERSION = settings.value("Labels/tool_version", "SL100 工厂产测工具 - V0.0.16");
|
||||
config.START_LISTENING = settings.value("Labels/start_listening", "开始监听\n(Start Listening...)");
|
||||
config.ONE_CLICKED_TEST = settings.value("Labels/one_clicked_test", "一键功能测试");
|
||||
config.FRONT_BOARD_NAME = settings.value("Labels/front_board_name", "前 板");
|
||||
config.BACK_BOARD_NAME = settings.value("Labels/back_board_name", "后 板");
|
||||
config.ALL_BOARD_NAME = settings.value("Labels/all_board_name", "整 机");
|
||||
config.FRONT_DEVICE_INFO = settings.value("Labels/front_device_info", "前板设备信息");
|
||||
config.BACK_DEVICE_INFO = settings.value("Labels/back_device_info", "后板设备信息");
|
||||
config.ALL_PRODUCT_INFO = settings.value("Labels/all_product_info", "工厂生产信息");
|
||||
config.ALL_DEVICE_INFO = settings.value("Labels/all_device_info", "整机设备信息");
|
||||
config.FRONT_TUYU_LICENSE = settings.value("Labels/front_TUYU_license", "图语算法 License");
|
||||
config.BACK_GET_UUID_SN = settings.value("Labels/back_get_uuid_sn", "后板获取 UUID/SN");
|
||||
config.FRONT_TEST_ITEM = settings.value("Labels/front_test_item", "前板测试项");
|
||||
config.FRONT_CONFID_ITEM = settings.value("Labels/front_config_item", "前板配置项");
|
||||
config.INPUT_CONFIG_PARA = settings.value("Labels/input_config_para", "请输入配置参数...");
|
||||
config.BACK_TEST_ITEM = settings.value("Labels/back_test_item", "后板测试项");
|
||||
config.BACK_CONFID_ITEM = settings.value("Labels/back_config_item", "后板配置项");
|
||||
config.IMAGE_DISPLAY_TAB = settings.value("Labels/image_display_tab", "图像显示区");
|
||||
config.VIDEO_DISPLAY_TAB = settings.value("Labels/video_display_tab", "视频显示区");
|
||||
config.ALL_TEST_ITEM = settings.value("Labels/all_test_item", "整机测试项");
|
||||
config.ALL_CONFID_ITEM = settings.value("Labels/all_config_item", "整机配置项");
|
||||
config.LEFT_LENS = settings.value("Labels/left_lens", "左边镜头");
|
||||
config.RIGHT_LENS = settings.value("Labels/right_lens", "右边镜头");
|
||||
config.CAT_EYE_LENS_RGB = settings.value("Labels/cat_eye_lens_rgb", "猫眼镜头(RGB)");
|
||||
config.CAT_EYE_LENS_IR = settings.value("Labels/cat_eye_lens_ir", "猫眼镜头(IR)");
|
||||
config.BIG_WINDOW_PRE_VIDEO = settings.value("Labels/big_window_pre_video", "大窗口播放视频");
|
||||
config.RESOLUTION_EDIT = settings.value("Labels/resolution_edit", "分辨率:");
|
||||
// Labels 项 默认命名配置
|
||||
config.SL100_FACTORY_TOOL_W = settings.value("Window/width", "1340").toInt();
|
||||
config.SL100_FACTORY_TOOL_H = settings.value("Window/height", "900").toInt();
|
||||
config.LOG_LEVEL = settings.value("LogLevel/log_level", "2").toInt();
|
||||
config.TOOL_VERSION = settings.value("Labels/tool_version", "SL100 工厂产测工具 - V0.0.18");
|
||||
config.START_LISTENING = settings.value("Labels/start_listening", "开始监听\n(Start Listening...)");
|
||||
config.ONE_CLICKED_TEST = settings.value("Labels/one_clicked_test", "一键功能测试");
|
||||
config.SELECT_MDSN_IP = settings.value("Labels/select_mdns_ip", "Select MDns IP:");
|
||||
config.SELECT_COM_PORT = settings.value("Labels/select_com_port", "COM Port:");
|
||||
config.CONNECT_FRONT_BOARD = settings.value("Labels/connect_front_board", "连接前板");
|
||||
config.SAVE_LOG = settings.value("Labels/save_log", "Save");
|
||||
config.CLEAR_LOG = settings.value("Labels/clear_log", "Clear");
|
||||
config.FRONT_BOARD_NAME = settings.value("Labels/front_board_name", "前 板");
|
||||
config.BACK_BOARD_NAME = settings.value("Labels/back_board_name", "后 板");
|
||||
config.ALL_BOARD_NAME = settings.value("Labels/all_board_name", "整 机");
|
||||
config.FRONT_DEVICE_INFO = settings.value("Labels/front_device_info", "前板设备信息");
|
||||
config.FRONT_GET_HW_INFO = settings.value("Labels/front_get_hw_info", "get_hw_info");
|
||||
config.FRONT_GET_LICENSE_INFO = settings.value("Labels/front_get_license_info", "get_license");
|
||||
config.FRONT_WR_LICENSE_INFO = settings.value("Labels/front_wr_license_info", "write_license");
|
||||
config.BACK_DEVICE_INFO = settings.value("Labels/back_device_info", "后板设备信息");
|
||||
config.BACK_GET_MAC_ADDR = settings.value("Labels/back_get_MAC_addr", "get_MAC_addr");
|
||||
config.BACK_GET_UUIDSN = settings.value("Labels/back_get_UUID_SN", "get_UUID_SN");
|
||||
config.BACK_WR_UUID_SN = settings.value("Labels/write_UUID_SN", "write_UUID_SN");
|
||||
config.BACK_CONFIRM_BURN = settings.value("Labels/Confirm_burn", "Confirm_burn");
|
||||
config.ALL_PRODUCT_INFO = settings.value("Labels/all_product_info", "工厂生产信息");
|
||||
config.ALL_DEVICE_INFO = settings.value("Labels/all_device_info", "整机设备信息");
|
||||
config.FRONT_TUYU_LICENSE = settings.value("Labels/front_TUYU_license", "图语算法 License");
|
||||
config.BACK_GET_UUID_SN = settings.value("Labels/back_get_uuid_sn", "后板获取 UUID/SN");
|
||||
config.FRONT_TEST_ITEM = settings.value("Labels/front_test_item", "前板测试项");
|
||||
config.FRONT_CONFID_ITEM = settings.value("Labels/front_config_item", "前板配置项");
|
||||
config.FRONT_TEST_ITEM_CNT = settings.value("Labels/front_test_item_cnt", "77").toInt();
|
||||
config.FRONT_CONFID_ITEM_CNT = settings.value("Labels/front_config_item_cnt", "77").toInt();
|
||||
config.INPUT_CONFIG_PARA = settings.value("Labels/input_config_para", "请输入配置参数...");
|
||||
config.BACK_TEST_ITEM = settings.value("Labels/back_test_item", "后板测试项");
|
||||
config.BACK_CONFID_ITEM = settings.value("Labels/back_config_item", "后板配置项");
|
||||
config.BACK_TEST_ITEM_CNT = settings.value("Labels/back_test_item_cnt", "77").toInt();
|
||||
config.BACK_CONFID_ITEM_CNT = settings.value("Labels/back_config_item_cnt", "77").toInt();
|
||||
config.IMAGE_DISPLAY_TAB = settings.value("Labels/image_display_tab", "图像显示区");
|
||||
config.VIDEO_DISPLAY_TAB = settings.value("Labels/video_display_tab", "视频显示区");
|
||||
config.ALL_TEST_ITEM = settings.value("Labels/all_test_item", "整机测试项");
|
||||
config.ALL_CONFID_ITEM = settings.value("Labels/all_config_item", "整机配置项");
|
||||
config.LEFT_LENS = settings.value("Labels/left_lens", "左边镜头");
|
||||
config.RIGHT_LENS = settings.value("Labels/right_lens", "右边镜头");
|
||||
config.CAT_EYE_LENS_RGB = settings.value("Labels/cat_eye_lens_rgb", "猫眼镜头(RGB)");
|
||||
config.CAT_EYE_LENS_IR = settings.value("Labels/cat_eye_lens_ir", "猫眼镜头(IR)");
|
||||
config.BIG_WINDOW_PRE_VIDEO = settings.value("Labels/big_window_pre_video", "大窗口播放视频");
|
||||
config.RESOLUTION_EDIT = settings.value("Labels/resolution_edit", "分辨率:");
|
||||
config.NO_DEV_CONNECT = settings.value("Labels/no_device_connected", "No device is connected !!!");
|
||||
config.THIS_DEV_DISCONNECT = settings.value("Labels/this_device_disconnect", "This device is not connected !!!");
|
||||
config.PLEASE_SELECT_IMG_LENS = settings.value("Labels/please_select_img_lens", "Please select \"左边镜头\" or \"右边镜头\" to get image!!!");
|
||||
config.PLEASE_SELECT_VID_LENS = settings.value("Labels/please_select_vid_lens", "Please select lens to get video!!!");
|
||||
config.MDNS_HOSE_NAME = settings.value("Labels/mdns_host_name", "SL100-FactoryTool-Mdns");
|
||||
config.MDNS_SERVICE_NAME = settings.value("Labels/mdns_service_name", "_myservice._tcp.local.");
|
||||
quint16 port = settings.value("Labels/tcp_connect_port", "12412").toUInt();
|
||||
config.TCP_CONNECT_PORT = (port > 0 && port <= 65535) ? port : 12412; // 防止异常值
|
||||
|
||||
return config;
|
||||
}
|
||||
@@ -84,7 +109,7 @@ QGroupBox* MainWidget::createLicenseGroupBox()
|
||||
|
||||
for (int i = 0; i < frontBoardLicenseJson.size(); ++i) {
|
||||
QJsonObject item = frontBoardLicenseJson[i].toObject();
|
||||
QString buttonText = item["lable"].toString();
|
||||
QString buttonText = item["lable"].toString();
|
||||
QPushButton* button = new QPushButton(buttonText, this);
|
||||
button->setProperty("licenseIndex", i);
|
||||
buttonRowLayout->addWidget(button);
|
||||
@@ -111,7 +136,7 @@ QGroupBox* MainWidget::createFrontDeviceInfoGroupBox()
|
||||
for (const QJsonValue& value : frontBoardDevInfoJson) {
|
||||
QJsonObject item = value.toObject();
|
||||
QString label = item["lable"].toString();
|
||||
QString cmd = item["cmd"].toString();
|
||||
QString cmd = item["cmd"].toString();
|
||||
QLabel* itemLabel = new QLabel(label, this);
|
||||
QLineEdit* itemLineEdit = new QLineEdit(this);
|
||||
itemLineEdit->setReadOnly(true);
|
||||
@@ -143,11 +168,11 @@ QGroupBox* MainWidget::createBackDeviceInfoGroupBox()
|
||||
QGroupBox* MainWidget::createBackConnectServerGroupBox()
|
||||
{
|
||||
QGroupBox* BackConnectServerGroupBox = new QGroupBox(TOOL_UI.BACK_GET_UUID_SN, this);
|
||||
QHBoxLayout* frontDeviceInfoLayout = new QHBoxLayout;
|
||||
QHBoxLayout* frontDeviceInfoLayout = new QHBoxLayout;
|
||||
|
||||
for (int i = 0; i < backBoardUuidJson.size(); ++i) {
|
||||
QJsonObject item = backBoardUuidJson[i].toObject();
|
||||
QString buttonText = item["lable"].toString();
|
||||
QJsonObject item = backBoardUuidJson[i].toObject();
|
||||
QString buttonText = item["lable"].toString();
|
||||
QPushButton* button = new QPushButton(buttonText, this);
|
||||
button->setProperty("UuidIndex", i);
|
||||
frontDeviceInfoLayout->addWidget(button);
|
||||
@@ -169,12 +194,19 @@ QGroupBox* MainWidget::createBackConnectServerGroupBox()
|
||||
|
||||
QWidget* MainWidget::createFunctionTestTab(const QJsonArray& BoardFuncTest, const QString& propertyName)
|
||||
{
|
||||
QWidget* functionTestTab = new QWidget(this);
|
||||
QWidget* functionTestTab = new QWidget(this);
|
||||
QVBoxLayout* functionTestLayout = new QVBoxLayout(functionTestTab);
|
||||
QGridLayout* buttonGridLayout = new QGridLayout();
|
||||
QGridLayout* buttonGridLayout = new QGridLayout();
|
||||
int buttonsPerRow = 7;
|
||||
|
||||
for (int i = 0; i < BoardFuncTest.size() + (77 - BoardFuncTest.size()); ++i) {
|
||||
int buttonCnt = 77;
|
||||
if (propertyName == "frontBoardTest") {
|
||||
buttonCnt = TOOL_UI.FRONT_TEST_ITEM_CNT;
|
||||
}
|
||||
else if (propertyName == "backBoardTest") {
|
||||
buttonCnt = TOOL_UI.BACK_TEST_ITEM_CNT;
|
||||
}
|
||||
if (buttonCnt < BoardFuncTest.size()) buttonCnt = BoardFuncTest.size();
|
||||
for (int i = 0; i < BoardFuncTest.size() + (buttonCnt - BoardFuncTest.size()); ++i) {
|
||||
QJsonObject item = BoardFuncTest[i].toObject();
|
||||
QString buttonText = item["lable"].toString();
|
||||
if (buttonText.isEmpty()) {
|
||||
@@ -211,20 +243,23 @@ QWidget* MainWidget::createFunctionTestTab(const QJsonArray& BoardFuncTest, cons
|
||||
|
||||
QWidget* MainWidget::createFunctionConfigTab(const QJsonArray& BoardFuncConfig, const QString& propertyName)
|
||||
{
|
||||
QWidget* functionConfigTab = new QWidget(this);
|
||||
QWidget* functionConfigTab = new QWidget(this);
|
||||
QVBoxLayout* functionConfigLayout = new QVBoxLayout(functionConfigTab);
|
||||
int buttonCnt = 77;
|
||||
if (propertyName == "frontBoardFuncConfig") {
|
||||
frontFuncConfigLineEdit->setPlaceholderText(TOOL_UI.INPUT_CONFIG_PARA);
|
||||
functionConfigLayout->addWidget(frontFuncConfigLineEdit);
|
||||
buttonCnt = TOOL_UI.FRONT_CONFID_ITEM_CNT;
|
||||
}
|
||||
else if (propertyName == "backBoardFuncConfig") {
|
||||
backFuncConfigLineEdit->setPlaceholderText(TOOL_UI.INPUT_CONFIG_PARA);
|
||||
functionConfigLayout->addWidget(backFuncConfigLineEdit);
|
||||
buttonCnt = TOOL_UI.BACK_CONFID_ITEM_CNT;
|
||||
}
|
||||
|
||||
if (buttonCnt < BoardFuncConfig.size()) buttonCnt = BoardFuncConfig.size();
|
||||
QGridLayout* configButtonGridLayout = new QGridLayout();
|
||||
int buttonsPerRow = 7; // 每行显示的按键数量,根据需要调整
|
||||
for (int i = 0; i < BoardFuncConfig.size() + (77 - BoardFuncConfig.size()); ++i) {
|
||||
for (int i = 0; i < BoardFuncConfig.size() + (buttonCnt - BoardFuncConfig.size()); ++i) {
|
||||
QJsonObject item = BoardFuncConfig[i].toObject();
|
||||
QString buttonText = item["lable"].toString();
|
||||
if (buttonText.isEmpty()) {
|
||||
@@ -261,7 +296,7 @@ QWidget* MainWidget::createFunctionConfigTab(const QJsonArray& BoardFuncConfig,
|
||||
|
||||
QWidget* MainWidget::createImageDisplayTab(QLabel* leftLensLabel, QLabel* rightLensLabel)
|
||||
{
|
||||
QWidget* imageDisplayTab = new QWidget(this);
|
||||
QWidget* imageDisplayTab = new QWidget(this);
|
||||
QVBoxLayout* imageDisplayLayout = new QVBoxLayout(imageDisplayTab);
|
||||
|
||||
QVBoxLayout* imageButtonsColumnLayout = new QVBoxLayout;
|
||||
@@ -555,5 +590,3 @@ QTabWidget* MainWidget::createMediaTabWidget(QLabel* leftLensLabel, QLabel* righ
|
||||
|
||||
return tabWidget_media;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user