#include "advanceddialog.h" #include "ui_advanceddialog.h" #include #include #include 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(obj); combox->setView(new QListView); } } foreach (QObject* obj, ui->groupBox_2->children()) { if(obj->objectName().contains("ComboBox")) { QComboBox *combox = static_cast(obj); combox->setView(new QListView); } } foreach (QObject* obj, ui->groupBox_3->children()) { if(obj->objectName().contains("ComboBox")) { QComboBox *combox = static_cast(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)); }