emsApplication/applications/examples/quc_demo/frmgaugepanel.cpp

100 lines
3.3 KiB
C++

#pragma execution_character_set("utf-8")
#include "frmgaugepanel.h"
#include "ui_frmgaugepanel.h"
#include "qdebug.h"
frmGaugePanel::frmGaugePanel(QWidget *parent) : QWidget(parent), ui(new Ui::frmGaugePanel)
{
ui->setupUi(this);
this->initForm();
}
frmGaugePanel::~frmGaugePanel()
{
delete ui;
}
void frmGaugePanel::initForm()
{
#if 0
ui->horizontalSlider1->setVisible(false);
ui->horizontalSlider2->setVisible(false);
ui->horizontalSlider3->setVisible(false);
ui->horizontalSlider4->setVisible(false);
ui->horizontalSlider5->setVisible(false);
ui->horizontalSlider6->setVisible(false);
#endif
//设置样式
QStringList list;
list.append("#widget{background:#222939;}");
list.append("GaugePanel{qproperty-ringColor:#393F4D;qproperty-scaleColor:#03B7C9;"
"qproperty-pointerColor:#03B7C9;qproperty-textColor:#EEEEEE;}");
ui->widget->setStyleSheet(list.join(""));
//设置单位
ui->gaugePanel1->setUnit("V");
ui->gaugePanel2->setUnit("A");
ui->gaugePanel3->setUnit("m");
ui->gaugePanel4->setUnit("kW");
ui->gaugePanel5->setUnit("kWh");
ui->gaugePanel6->setUnit("Hz");
//设置名称
ui->gaugePanel1->setText("电压");
ui->gaugePanel2->setText("电流");
ui->gaugePanel3->setText("水位");
ui->gaugePanel4->setText("有功功率");
ui->gaugePanel5->setText("有功电能");
ui->gaugePanel6->setText("电网频率");
//设置小数点
ui->gaugePanel3->setPrecision(1);
ui->gaugePanel4->setPrecision(2);
ui->gaugePanel5->setPrecision(1);
ui->gaugePanel3->setScalePrecision(1);
//设置启用动画
ui->gaugePanel4->setAnimation(true);
ui->gaugePanel5->setAnimation(true);
ui->gaugePanel5->setAnimationStep(0.2);
//设置范围值
ui->gaugePanel1->setRange(0, 500);
ui->gaugePanel2->setRange(0, 60);
ui->gaugePanel3->setRange(0, 2);
ui->gaugePanel4->setRange(0, 50);
ui->gaugePanel5->setRange(0, 70);
ui->gaugePanel6->setRange(0, 100);
ui->horizontalSlider1->setRange(0, 500);
ui->horizontalSlider2->setRange(0, 60);
ui->horizontalSlider3->setRange(0, 200);
ui->horizontalSlider4->setRange(0, 50);
ui->horizontalSlider5->setRange(0, 70);
ui->horizontalSlider6->setRange(0, 100);
//绑定滑块
connect(ui->horizontalSlider1, SIGNAL(valueChanged(int)), ui->gaugePanel1, SLOT(setValue(int)));
connect(ui->horizontalSlider2, SIGNAL(valueChanged(int)), ui->gaugePanel2, SLOT(setValue(int)));
//connect(ui->horizontalSlider3, SIGNAL(valueChanged(int)), ui->gaugePanel3, SLOT(setValue(int)));
connect(ui->horizontalSlider4, SIGNAL(valueChanged(int)), ui->gaugePanel4, SLOT(setValue(int)));
connect(ui->horizontalSlider5, SIGNAL(valueChanged(int)), ui->gaugePanel5, SLOT(setValue(int)));
connect(ui->horizontalSlider6, SIGNAL(valueChanged(int)), ui->gaugePanel6, SLOT(setValue(int)));
//设置初始值
ui->horizontalSlider1->setValue(220);
ui->horizontalSlider2->setValue(32);
ui->horizontalSlider3->setValue(150);
ui->horizontalSlider4->setValue(6.34);
ui->horizontalSlider5->setValue(6.28);
ui->horizontalSlider6->setValue(50);
}
void frmGaugePanel::on_horizontalSlider3_valueChanged(int value)
{
double v = (double)value / 100;
ui->gaugePanel3->setValue(v);
}