GrabBag/GrabBagApp/resultitem.cpp

51 lines
1.4 KiB
C++
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.

#include "resultitem.h"
#include "ui_resultitem.h"
ResultItem::ResultItem(QWidget *parent)
: QWidget(parent)
, ui(new Ui::ResultItem)
{
ui->setupUi(this);
// 强制应用样式表 - 这是关键!
this->setAttribute(Qt::WA_StyledBackground, true);
// 初始化时设置样式
setItemStyle();
// 设置输入框为只读
ui->result_x->setReadOnly(true);
ui->result_y->setReadOnly(true);
ui->result_z->setReadOnly(true);
ui->result_rz->setReadOnly(true);
}
ResultItem::~ResultItem()
{
delete ui;
}
void ResultItem::setResultData(int targetIndex, const GrabBagPosition& position)
{
// 设置目标编号
ui->result_id->setText(QString("目标:%1").arg(targetIndex));
// 设置数据到对应的LineEdit控件
ui->result_x->setText(QString("%1").arg(position.x, 0, 'f', 2));
ui->result_y->setText(QString("%1").arg(position.y, 0, 'f', 2));
ui->result_z->setText(QString("%1").arg(position.z, 0, 'f', 2));
ui->result_rz->setText(QString("%1").arg(position.yaw, 0, 'f', 2));
}
void ResultItem::setItemStyle()
{
// 只设置黄色边框作为格子间分隔线不修改背景和QLineEdit样式
this->setStyleSheet(
"ResultItem { "
" border: 2px solid #191A1C; " // 只添加黄色边框作为格子间分隔线
" border-radius: 0px; " // 去掉圆角,让分隔线更清晰
"} "
);
}