3500/CharacteristicList.cpp
2023-10-19 14:15:31 +08:00

99 lines
4.7 KiB
C++

#include "CharacteristicList.h"
#include "ui_CharacteristicList.h"
CCharacteristicList::CCharacteristicList(QWidget *parent) :
QWidget(parent),
ui(new Ui::CCharacteristicList)
{
ui->setupUi(this);
ui->widget->setProperty("flag", "Title2");
ui->widget_2->setProperty("flag", "Title2");
InitTable();
id1 = startTimer(1000); //参数1 间隔 单位 毫秒
//定时器第二种方式
QTimer * timer = new QTimer(this);
//启动定时器
timer->start(500);
}
CCharacteristicList::~CCharacteristicList()
{
delete ui;
}
void CCharacteristicList::timerEvent(QTimerEvent *ev)
{
if(ev->timerId() == id1)
{
DisPlayCharacteristic();
}
}
void CCharacteristicList::InitTable()
{
headerStr = QObject::tr("通道名称,单位,通频值,峰峰值,平均工作位置,间隙,安装角度,状态");
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
model = new QStandardItemModel(ui->tableView);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); //选中行
QStringList headerList = headerStr.split(",");
model->setHorizontalHeaderLabels(headerList);
model->setColumnCount(headerList.size());
ui->tableView->setModel(model);
ui->tableView->setAlternatingRowColors(true);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->tableView->setColumnWidth(0, 300);
ui->tableView->setColumnWidth(4, 200);
// for (int i = 0;i < g_ChannelView.size(); i++)
// {
// model->setData(model->index(i,0,QModelIndex()),g_ChannelView[i].channelName);
// model->setData(model->index(i,1,QModelIndex()),g_ChannelView[i].channelUnit);
// model->item(i, 0)->setTextAlignment(Qt::AlignCenter);
// model->item(i, 1)->setTextAlignment(Qt::AlignCenter);
// }
}
void CCharacteristicList::DisPlayCharacteristic()
{
//if(g_Charateristic.size() > 0 && g_ChannelView.size() <= g_Charateristic.size())
{
model->removeRows(0, model->rowCount());
model->setRowCount( g_Charateristic.size());
for (int i = 0; i < g_ChannelBaseInfo.size(); i++)
{
for (int j = 0; j < g_Charateristic.size(); j++) {
if(g_Charateristic[j].ChannelID == g_ChannelBaseInfo[i].channelID \
&& g_Charateristic[j].channelType != "DI" && g_Charateristic[j].channelType != "DO")
{
model->setData(model->index(j,0,QModelIndex()),g_Charateristic[j].ChannelName);
model->setData(model->index(j,1,QModelIndex()),g_Charateristic[j].SensorEngineeringUnit);
if(g_ChannelBaseInfo[i].defaultDisplay == "峰峰值"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].DiagnosisPk2Pk,'f',g_Charateristic[j].ChUnitDot));
}else if(g_ChannelBaseInfo[i].defaultDisplay == "有效值"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].RMSValues,'f',g_Charateristic[j].ChUnitDot));
}else if(g_ChannelBaseInfo[i].defaultDisplay == "峰值"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].DiagnosisPeak,'f',g_Charateristic[j].ChUnitDot));
}else if(g_ChannelBaseInfo[i].defaultDisplay == "平均值"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].DCValues,'f',g_Charateristic[j].ChUnitDot));
}else if(g_ChannelBaseInfo[i].defaultDisplay == "转速"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].speedRPM,'f',g_Charateristic[j].ChUnitDot));
}
//qDebug() << g_ChannelBaseInfo[i].boardType << g_Charateristic[j].DCValues <<endl;
if(g_ChannelBaseInfo[i].boardType == "5"){
model->setData(model->index(j,2,QModelIndex()),QString::number(g_Charateristic[j].DCValues,'f',g_Charateristic[j].ChUnitDot));
}
model->setData(model->index(j,3,QModelIndex()),QString::number(g_Charateristic[j].DiagnosisPk2Pk,'f',g_Charateristic[j].ChUnitDot));
model->setData(model->index(j,4,QModelIndex()),g_Charateristic[j].xFullScalePosition);
model->setData(model->index(j,5,QModelIndex()),QString::number(g_Charateristic[j].Gap,'f',g_Charateristic[j].ChUnitDot));
model->setData(model->index(j,6,QModelIndex()),g_Charateristic[j].ZeroScalePosition);
model->setData(model->index(j,7,QModelIndex()),g_Charateristic[j].SensorStatus);
}
}
}
}
}