100 lines
3.3 KiB
C++
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);
|
|
}
|