3.4 KiB
3.4 KiB
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_pLogDialogQTextEdit* m_pLogText
- 更新注释说明为"双目版本"
mainwindow.cpp
- 构造函数:
- 连接
btnShowLog信号 - 创建日志对话框
- 更新窗口标题为"WDRemoteReceiver 测试(双目)"
- 连接
setupReceiver():- 添加
SetBinocularRawImageCallback回调注册 - 双目回调中分别处理左右目图像
- 添加
onConnectClicked():- 使用搜索列表中的机器码打开设备
- StartWork 时按模式启动订阅或实时传图
onAppendLog():写入m_pLogText而非ui->textLogonShowLeftImage()/onShowRightImage():分别更新左右图像 QLabel- 新增
onShowLogClicked():显示日志对话框
使用说明
编译
使用 Qt Creator 打开 WDRemoteReceiverTest.pro 编译,或使用命令行:
qmake
make
运行
- 启动后自动搜索设备
- 从设备列表选择设备并点击"连接"
- 点击"开始"启动检测模式
- 左右图像区域实时显示双目图像(如果服务端发送双目数据)
- 点击"显示日志"查看详细日志信息
依赖接口
IWDRemoteReceiver::SearchDevices()IWDRemoteReceiver::Open()IWDRemoteReceiver::StartWork(WDRemoteWorkMode::Detection)WDRemoteBinocularRawImage数据结构
这些接口已在 Module/WDRemoteReceiver 中实现。