添加z2000状态,添加参数过滤器

This commit is contained in:
hm
2021-01-12 12:15:03 +08:00
parent 165ea2e0a3
commit 72e4aec51f
9 changed files with 894 additions and 855 deletions
+99
View File
@@ -0,0 +1,99 @@
#include "StateWidget.h"
StateWidget::StateWidget(int flag,QWidget *parent) : QWidget(parent)
{
int w = 150;
int h = 20;
gridlayout = new QGridLayout(this);
gridlayout->setMargin(0);
gridlayout->setVerticalSpacing(6);
title = new QLabel("new status");
title->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
title->setFixedSize(w/2,h);
gridlayout->addWidget(title,0,0);
if(flag == 0)
{
label = new QLabel("0");
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
label->setFixedSize(w,h);
setColor(label,state::inital);
gridlayout->addWidget(label,0,1);
}
else
{
bar = new QProgressBar();
bar->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
bar->setRange(0,100);
bar->setValue(0);
bar->setFixedSize(w,h);
gridlayout->addWidget(bar,0,1);
}
}
StateWidget::StateWidget(int flag, QString t,QVariant v,state s, QWidget *parent) : QWidget(parent)
{
int w = 150;
int h = 20;
gridlayout = new QGridLayout(this);
gridlayout->setMargin(0);
gridlayout->setVerticalSpacing(6);
title = new QLabel(t);
title->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
title->setFixedSize(w/2,h);
gridlayout->addWidget(title,0,0);
if(flag == 0)
{
label = new QLabel(v.toString());
label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
label->setFixedSize(w,h);
setColor(label,s);
gridlayout->addWidget(label,0,1);
}
else
{
bar = new QProgressBar();
bar->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
bar->setRange(0,100);
bar->setValue(v.toDouble());
bar->setFixedSize(w,h);
gridlayout->addWidget(bar,0,1);
}
}
StateWidget::~StateWidget()
{
}
void StateWidget::setColor(QWidget *w,state s)
{
w->setProperty("state",s);
w->style()->unpolish(w);
w->style()->polish(w);
}
void StateWidget::setValue(QLabel *w,QString s)
{
w->setText(s);
}