2026-06-26 17:55:15 +08:00

100 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WDRemoteReceiverTest 界面改造说明
## 修改日期
2025-01-XX
## 修改内容
### 1. 界面布局重构
- **原布局**:左侧控制面板 + 右侧单个图像显示区域
- **新布局**
- 上部:左右双图像显示区域(并排)
- 下部:紧凑的控制按钮区域(最大高度 200px
### 2. 双目图像支持
- 添加 `labelLeftImage``labelRightImage` 两个 QLabel 用于显示左右目图像
- 新增信号:
- `uiShowLeftImage(const QImage&)`
- `uiShowRightImage(const QImage&)`
- 新增槽函数:
- `onShowLeftImage(const QImage&)`
- `onShowRightImage(const QImage&)`
-`setupReceiver()` 中注册双目图像回调 `SetBinocularRawImageCallback`
- 单目图像回调 `SetRawImageCallback` 仍然保留,显示在左图像区域
### 3. 搜索设备和工作模式
- 启动后通过 UDP 搜索设备,并通过机器码 `Open`
- `StartWork(WDRemoteWorkMode::Detection)` 启动检测并订阅检测结果/raw 图像
- 实时 RTSP 传图使用 `WDRemoteWorkMode::LiveStream`,与检测模式互斥
### 4. 日志窗口独立
- 移除主界面的 `textLog` 控件
- 创建独立的日志对话框 `m_pLogDialog`
- 添加"显示日志"按钮 `btnShowLog`,点击后弹出日志窗口
- 所有日志信息写入独立窗口的 `m_pLogText`
### 5. 控制面板优化
- 连接配置改为单行横向布局
- 所有控制按钮排列在一行,使用竖线分隔符分组:
- 工作控制:开始、停止、单次
- 参数设置:曝光、增益、算法参数
- 订阅控制:订阅原始图像、订阅检测结果
- 其他:获取信息、自定义命令、显示日志
## 文件修改清单
### mainwindow.ui
- 完全重构布局为 VBoxLayout
- 上部HBoxLayout 包含两个 QGroupBox左图像、右图像
- 下部QGroupBox 控制面板,包含两行按钮
- 移除 textLog 控件
### mainwindow.h
- 添加 `#include <QDialog>``#include <QTextEdit>`
- 修改信号:`uiShowRawImage``uiShowLeftImage` + `uiShowRightImage`
- 修改槽函数:`onShowRawImage``onShowLeftImage` + `onShowRightImage`
- 添加槽函数:`onShowLogClicked()`
- 添加成员变量:
- `QDialog* m_pLogDialog`
- `QTextEdit* m_pLogText`
- 更新注释说明为"双目版本"
### mainwindow.cpp
- 构造函数:
- 连接 `btnShowLog` 信号
- 创建日志对话框
- 更新窗口标题为"WDRemoteReceiver 测试(双目)"
- `setupReceiver()`
- 添加 `SetBinocularRawImageCallback` 回调注册
- 双目回调中分别处理左右目图像
- `onConnectClicked()`
- 使用搜索列表中的机器码打开设备
- StartWork 时按模式启动订阅或实时传图
- `onAppendLog()`:写入 `m_pLogText` 而非 `ui->textLog`
- `onShowLeftImage()` / `onShowRightImage()`:分别更新左右图像 QLabel
- 新增 `onShowLogClicked()`:显示日志对话框
## 使用说明
### 编译
使用 Qt Creator 打开 `WDRemoteReceiverTest.pro` 编译,或使用命令行:
```bash
qmake
make
```
### 运行
1. 启动后自动搜索设备
2. 从设备列表选择设备并点击"连接"
3. 点击"开始"启动检测模式
4. 左右图像区域实时显示双目图像(如果服务端发送双目数据)
5. 点击"显示日志"查看详细日志信息
## 依赖接口
- `IWDRemoteReceiver::SearchDevices()`
- `IWDRemoteReceiver::Open()`
- `IWDRemoteReceiver::StartWork(WDRemoteWorkMode::Detection)`
- `WDRemoteBinocularRawImage` 数据结构
这些接口已在 `Module/WDRemoteReceiver` 中实现。