#include "dc_output_channel.h" #include "ui_dc_output_channel.h" #include #include "data_config.h" #include DC_Output_Channel::DC_Output_Channel(QString unit_str_,int current_index_,QWidget *parent) : QWidget(parent), ui(new Ui::DC_Output_Channel) { ui->setupUi(this); unit_str = unit_str_; current_index = current_index_; ui->label_min_unit->setText(unit_str); ui->label_max_unit->setText(unit_str); radiobtn[0] = ui->radioButton; radiobtn[1] = ui->radioButton_2; radiobtn[2] = ui->radioButton_3; radiobtn[3] = ui->radioButton_4; radiobtn[4] = ui->radioButton_5; int not_used = 0; for (int i = 0; i < 22; i++) { for (int j = 0; j < 4; j++){ if(ch_used[i].used[j] && current_index == i){ radiobtn[j]->setEnabled(true); radiobtn[j]->setChecked(true); first_used = j; }else if(ch_used[i].used[j] && current_index != i){ radiobtn[j]->setEnabled(false); }else if(!ch_used[i].used[j] && current_index == i){ not_used ++; } } } if(not_used == 4){ ui->radioButton_5->setChecked(true); } } DC_Output_Channel::~DC_Output_Channel() { delete ui; } void DC_Output_Channel::on_pushButton_confirm_clicked() { int channel = 0; if(!ui->radioButton_5->isChecked() && ((ui->lineEdit_minmum->text().toFloat() >= ui->lineEdit_maxmum->text().toFloat()) || (ui->lineEdit_minmum->text().toFloat() == 0 && ui->lineEdit_maxmum->text().toFloat() == 0))){ QMessageBox::information(this, QStringLiteral("提示"), "请填写正确的最小值和最大值"); return; } if(ui->radioButton->isChecked()){ channel = 1; }else if(ui->radioButton_2->isChecked()){ channel = 2; }else if(ui->radioButton_3->isChecked()){ channel = 3; }else if(ui->radioButton_4->isChecked()){ channel = 4; }else if(ui->radioButton_5->isChecked()){ ch_used[current_index].used[first_used] = false; channel = 5; }else { QMessageBox::information(this, QStringLiteral("提示"), "请选择正确的通道"); return; } emit output_channel_data_sg(channel,ui->lineEdit_minmum->text().toFloat(),ui->lineEdit_maxmum->text().toFloat(),first_used); this->close(); } void DC_Output_Channel::on_pushButton_cancel_clicked() { this->close(); }