167 lines
6.1 KiB
C++
Raw Normal View History

2024-11-25 17:15:44 +08:00
#include "advanceddialog.h"
#include "ui_advanceddialog.h"
#include <QPaintEvent>
#include <QPainter>
#include <QListView>
AdvancedDialog::AdvancedDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AdvancedDialog),
fesSwitchFlag(true),
isSkipPassive(true)
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框
setAttribute(Qt::WA_TranslucentBackground,true); //设置透明
st_advanceParam.isFesOn = fesSwitchFlag;
st_advanceParam.isSkipPassive = isSkipPassive;
initWidgetData();
}
AdvancedDialog::~AdvancedDialog()
{
delete ui;
}
void AdvancedDialog::on_confirm_Btn_clicked()
{
st_advanceParam.isFesOn = fesSwitchFlag;
st_advanceParam.isSkipPassive = isSkipPassive;
//预热阶段
st_advanceParam.preheatContinueTime = ui->preheatContinueTime_ComboBox->currentText().toInt();
st_advanceParam.preheatAContinueTime = ui->preheatAContinueTime_ComboBox->currentText().toInt();
st_advanceParam.preheatCompensate = ui->preheatCompensate_ComboBox->currentText().toInt();
st_advanceParam.preheatMaxPower = ui->preheatMaxPower_ComboBox->currentText().toInt();
st_advanceParam.transitionalFesRise = ui->transitionalFesRise_ComboBox->currentText().toInt();
//积极治疗阶段
st_advanceParam.positiveFChiXuTime = ui->positiveFChiXuTime_ComboBox->currentText().toInt();
st_advanceParam.positiveFControlSpeed = ui->positiveFControlSpeed_ComboBox->currentText().toInt();
st_advanceParam.positiveBChiXuTime = ui->positiveBChiXuTime_ComboBox->currentText().toInt();
st_advanceParam.positiveBSpeedCompensate = ui->positiveBSpeedCompensate_ComboBox->currentText().toInt();
st_advanceParam.positiveBresistance = ui->positiveBresistance_ComboBox->currentText().toInt();
st_advanceParam.timeLimit = ui->timeLimit_ComboBox->currentText().toInt();
st_advanceParam.speedLimit = ui->speedLimit_ComboBox->currentText().toInt();
//消极阶段
st_advanceParam.negativeSpeedCompensate = ui->negativeSpeedCompensate_ComboBox->currentText().toInt();
st_advanceParam.tiredContinueTime = ui->tiredContinueTime_ComboBox->currentText().toInt();
st_advanceParam.tiredSpeedCompensate = ui->tiredSpeedCompensate_ComboBox->currentText().toInt();
this->close();
}
void AdvancedDialog::on_cancel_Btn_clicked()
{
this->close();
}
void AdvancedDialog::on_skipPassive_Btn_clicked()
{
if(ui->skipPassive_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOn.png);")
{
isSkipPassive = false;
ui->skipPassive_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOff.png);");
}
else if(ui->skipPassive_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOff.png);")
{
isSkipPassive = true;
ui->skipPassive_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOn.png);");
}
}
void AdvancedDialog::on_preheatFesSwitch_Btn_clicked()
{
if(ui->preheatFesSwitch_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOn.png);")
{
fesSwitchFlag = false;
ui->preheatFesSwitch_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOff.png);");
}
else if(ui->preheatFesSwitch_Btn->styleSheet() == "border-image: url(:/DependFile/Source/gamePage/switchOff.png);")
{
fesSwitchFlag = true;
ui->preheatFesSwitch_Btn->setStyleSheet("border-image: url(:/DependFile/Source/gamePage/switchOn.png);");
}
}
void AdvancedDialog::initWidgetData()
{
//预热阶段
//加速时间/加速持续时间
for(int i = 0;i <= 60;i++)
{
ui->preheatContinueTime_ComboBox->addItem(QString::number(i));
ui->preheatAContinueTime_ComboBox->addItem(QString::number(i));
}
//转速补偿
for(int i = -30;i <= 30;i++ )
ui->preheatCompensate_ComboBox->addItem(QString::number(i));
//最大电量
for(int i =0;i <=50 ;i++)
ui->preheatMaxPower_ComboBox->addItem(QString::number(i));
//电刺激上升幅度
for(int i = 0;i <= 100; i++)
ui->transitionalFesRise_ComboBox->addItem(QString::number(i));
//积极阶段
for(int i = 0; i <= 120; i++)
ui->positiveFChiXuTime_ComboBox->addItem(QString::number(i));
for(int i = 5;i <= 60;i++)
ui->positiveFControlSpeed_ComboBox->addItem(QString::number(i));
for(int i = 0; i <= 120; i++)
ui->positiveBChiXuTime_ComboBox->addItem(QString::number(i));
for(int i = -30;i <= 30; i++)
ui->positiveBSpeedCompensate_ComboBox->addItem(QString::number(i));
for(int i = -20;i <= 20;i++)
ui->positiveBresistance_ComboBox->addItem(QString::number(i));
for(int i = 0;i <= 240;i++)
ui->timeLimit_ComboBox->addItem(QString::number(i));
for(int i = 1;i <= 50;i++ )
ui->speedLimit_ComboBox->addItem(QString::number(i*(-1)));
//消极阶段
for(int i = -30;i <= 30;i++)
ui->negativeSpeedCompensate_ComboBox->addItem(QString::number(i));
for(int i = 0;i <= 30;i ++)
ui->tiredContinueTime_ComboBox->addItem(QString::number(i));
for(int i = 0;i <= 30;i++)
ui->tiredSpeedCompensate_ComboBox->addItem(QString::number(i*(-1)));
foreach (QObject* obj, ui->groupBox->children()) {
if(obj->objectName().contains("ComboBox"))
{
QComboBox *combox = static_cast<QComboBox*>(obj);
combox->setView(new QListView);
}
}
foreach (QObject* obj, ui->groupBox_2->children()) {
if(obj->objectName().contains("ComboBox"))
{
QComboBox *combox = static_cast<QComboBox*>(obj);
combox->setView(new QListView);
}
}
foreach (QObject* obj, ui->groupBox_3->children()) {
if(obj->objectName().contains("ComboBox"))
{
QComboBox *combox = static_cast<QComboBox*>(obj);
combox->setView(new QListView);
}
}
}
ST_AdvancedParam AdvancedDialog::getValue()
{
return st_advanceParam;
}
void AdvancedDialog::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event)
QPainter painter(this);
painter.fillRect(rect(),QColor(0,0,0,100));
}