GrabBag/AppUtils/UICommon/Src/ResultListLayoutHelper.cpp

71 lines
2.9 KiB
C++

#include "ResultListLayoutHelper.h"
#include <QListView>
// 统一的结果卡片网格尺寸
static const QSize kResultGridSize(178, 182);
void ResultListLayoutHelper::setupSingleCameraMode(QListWidget* resultList,
QWidget* detectImage, QWidget* detectImage2,
QWidget* frameDev, QWidget* detectLog,
int availableHeight)
{
// 检测图像: 占据左侧大部分空间,动态计算高度
int detectImageTop = 140;
int detectImageHeight = availableHeight - detectImageTop;
detectImage->setGeometry(20, detectImageTop, 1311, detectImageHeight);
// 第二检测图像: 隐藏
detectImage2->setVisible(false);
// 设备状态框架: 位于右上方
frameDev->setGeometry(1344, 140, 556, 64);
// 检测结果列表: 位于右侧中间
resultList->setGeometry(1344, 216, 556, 622);
// 结果列表流向配置
resultList->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
resultList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
resultList->setFlow(QListView::LeftToRight);
resultList->setWrapping(true);
resultList->setGridSize(kResultGridSize);
// 日志: 位于右下方,动态计算高度
int detectLogTop = 850;
int detectLogHeight = availableHeight - detectLogTop;
detectLog->setGeometry(1344, detectLogTop, 556, detectLogHeight);
}
void ResultListLayoutHelper::setupMultiCameraMode(QListWidget* resultList,
QWidget* detectImage, QWidget* detectImage2,
QWidget* frameDev, QWidget* detectLog,
int availableHeight)
{
// 检测图像: 缩小到左侧一半空间,动态计算高度
int detectImageTop = 140;
int detectListHeight = 200;
int detectImageHeight = availableHeight - detectImageTop - detectListHeight - 15;
detectImage->setGeometry(10, detectImageTop, 940, detectImageHeight);
// 第二检测图像: 显示在右侧一半空间
detectImage2->setVisible(true);
detectImage2->setGeometry(970, detectImageTop, 940, detectImageHeight);
// 设备状态框架: 移动到下方左侧
frameDev->setGeometry(10, 806, 180, detectListHeight);
// 检测结果列表: 移动到下方中间
resultList->setGeometry(196, 806, 1380, detectListHeight);
// 结果列表流向配置
resultList->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
resultList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
resultList->setFlow(QListView::LeftToRight);
resultList->setWrapping(false);
resultList->setGridSize(kResultGridSize);
// 日志: 移动到下方右侧
int detectLogTop = 806;
detectLog->setGeometry(1582, detectLogTop, 328, detectListHeight);
}