Files
gcs-nf/App/ToolsUI/evtol/evtol.cpp
T
2021-01-06 14:03:02 +08:00

155 lines
3.2 KiB
C++

#include "evtol.h"
#include "ui_evtol.h"
evtol::evtol(QWidget *parent) :
QWidget(parent),
ui(new Ui::evtol)
{
ui->setupUi(this);
m_parent = parent;
QFile file(":/qss/evtol.qss");
file.open(QFile::ReadOnly);
QTextStream filetext(&file);
QString stylesheet = filetext.readAll();
this->setStyleSheet(stylesheet);
file.close();
setWindowTitle(tr("evtol"));
}
evtol::~evtol()
{
delete ui;
}
void evtol::setColor(QWidget *w,state s)
{
w->setProperty("state",s);
w->style()->unpolish(w);
w->style()->polish(w);
}
void evtol::setValue(QLabel *w,QString s)
{
w->setText(s);
}
void evtol::resizeEvent(QResizeEvent *event)
{
}
void evtol::closeEvent(QCloseEvent *event)
{
setFloat();
event->ignore();
}
void evtol::setFloat(void)
{
if(this->parent())
{
this->setParent(nullptr);
QScreen *screen=QGuiApplication::primaryScreen ();;
this->move((screen->availableGeometry().width()-this->width())/2,(screen->availableGeometry().height()-this->height())/2);
this->show();
}
else
{
this->setParent(m_parent);
this->setGeometry(m_parent->geometry());
this->move(0,0);
this->hide();
update();
}
}
void evtol::setRotor(uint32_t pos,QVariant value1)
{
switch (pos) {
case 1:
if(value1.toInt() >= 5000)
{
ui->progressBar_1->setRange(0,value1.toInt());
}
ui->progressBar_1->setValue(value1.toInt());
setColor( ui->progressBar_1,(value1 < 0)?(state::failure):(state::success));
break;
case 2:
ui->progressBar_2->setValue(value1.toInt());
setColor( ui->progressBar_2,(value1 < 0)?(state::failure):(state::success));
break;
case 3:
ui->progressBar_3->setValue(value1.toInt());
setColor( ui->progressBar_3,(value1 < 0)?(state::failure):(state::success));
break;
case 4:
ui->progressBar_4->setValue(value1.toInt());
setColor( ui->progressBar_4,(value1 < 0)?(state::failure):(state::success));
break;
case 5:
ui->progressBar_5->setValue(value1.toInt());
setColor( ui->progressBar_5,(value1 < 0)?(state::failure):(state::success));
break;
case 6:
if(value1.toInt() >= 5000)
{
ui->progressBar_6->setRange(0,value1.toInt());
}
ui->progressBar_6->setValue(value1.toInt());
setColor( ui->progressBar_6,(value1 < 0)?(state::failure):(state::success));
break;
case 7:
ui->progressBar_7->setValue(value1.toInt());
setColor( ui->progressBar_7,(value1 < 0)?(state::failure):(state::success));
break;
case 8:
ui->progressBar_8->setValue(value1.toInt());
setColor( ui->progressBar_8,(value1 < 0)?(state::failure):(state::success));
break;
case 9:
ui->progressBar_9->setValue(value1.toInt());
setColor( ui->progressBar_9,(value1 < 0)?(state::failure):(state::success));
break;
case 10:
ui->progressBar_10->setValue(value1.toInt());
setColor( ui->progressBar_10,(value1 < 0)?(state::failure):(state::success));
break;
}
}