hlp:桂林国际齿轮泵代码
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
#include "PulseNumFix.h"
|
||||
#include "ui_pulsenumfix.h"
|
||||
#include <QValidator>
|
||||
#include <QDoubleValidator>
|
||||
#include <QMessageBox>
|
||||
PulseNumFix::PulseNumFix(QWidget *parent) :
|
||||
QDialog(parent),
|
||||
ui(new Ui::PulseNumFix)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
this->setWindowTitle(tr("脉冲数修正"));
|
||||
setUIEnableStatus();
|
||||
connect(this,SIGNAL(accepted()),this,SLOT(onButtonBoxAccepted()));
|
||||
ui->lineEditRate->setValidator(new QDoubleValidator(0));
|
||||
ui->lineEditActualSynLength->setValidator(new QDoubleValidator(0));
|
||||
ui->lineEditLength->setValidator(new QDoubleValidator(0));
|
||||
ui->lineEditPulseNum->setValidator(new QDoubleValidator(0));
|
||||
ui->lineEditDiameter->setValidator(new QDoubleValidator(0));
|
||||
ui->lineEditPulsePerCycle->setValidator(new QDoubleValidator(0));
|
||||
this->setFixedSize(this->geometry().width(),this->geometry().height());
|
||||
}
|
||||
|
||||
PulseNumFix::~PulseNumFix()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void PulseNumFix::setUIEnableStatus(){
|
||||
ui->lineEditRate->setEnabled(ui->radioButtonAccordingRate->isChecked());
|
||||
ui->labelRate->setEnabled(ui->radioButtonAccordingRate->isChecked());
|
||||
ui->lineEditActualSynLength->setEnabled(ui->radioButtonAccordingLength->isChecked());
|
||||
ui->labelActualSynLength->setEnabled(ui->radioButtonAccordingLength->isChecked());
|
||||
ui->lineEditLength->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
|
||||
ui->labelLength->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
|
||||
ui->lineEditPulseNum->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
|
||||
ui->labelPulseNum->setEnabled(ui->radioButtonAccordingPulseNum->isChecked());
|
||||
ui->lineEditDiameter->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
|
||||
ui->labelDiameter->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
|
||||
ui->lineEditPulsePerCycle->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
|
||||
ui->labelPulsePerCycle->setEnabled(ui->radioButtonSynchonizerPara->isChecked());
|
||||
}
|
||||
|
||||
void PulseNumFix::onButtonBoxAccepted()
|
||||
{
|
||||
float pulseNumPerMM = 0;
|
||||
if(sysPara){
|
||||
if(ui->radioButtonAccordingRate->isChecked()){
|
||||
float rate = ui->lineEditRate->text().toFloat();
|
||||
if(rate != 0){
|
||||
pulseNumPerMM = sysPara->status.synPulseCntPer1s/rate;
|
||||
}
|
||||
else {
|
||||
QMessageBox::critical(0,tr("错误"),tr("速度不应该为0"));
|
||||
}
|
||||
}
|
||||
else if(ui->radioButtonAccordingLength->isChecked()){
|
||||
float length = ui->lineEditActualSynLength->text().toFloat();
|
||||
if(length != 0){
|
||||
pulseNumPerMM = sysPara->para.synPulseNumPerMm * sysPara->para.synTriggerPrintLenMm / length;
|
||||
}
|
||||
else {
|
||||
QMessageBox::critical(0,tr("错误"),tr("实际同步长度不应该为0"));
|
||||
}
|
||||
}
|
||||
else if(ui->radioButtonAccordingPulseNum->isChecked()){
|
||||
float length = ui->lineEditLength->text().toFloat();
|
||||
float pulse = ui->lineEditPulseNum->text().toFloat();
|
||||
if(length != 0){
|
||||
pulseNumPerMM = pulse/length;
|
||||
}
|
||||
else {
|
||||
QMessageBox::critical(0,tr("错误"),tr("长度不应该为0"));
|
||||
}
|
||||
}
|
||||
else if(ui->radioButtonSynchonizerPara->isChecked()){
|
||||
float circle = ui->lineEditDiameter->text().toFloat() * 3.1415926;
|
||||
float pulseNum = ui->lineEditPulsePerCycle->text().toFloat();
|
||||
if(circle != 0){
|
||||
pulseNumPerMM = 4*pulseNum/circle; //电路和Fpga做了4倍频处理,这里乘以4是为了匹配4倍频的处理进行正确的显示
|
||||
}else {
|
||||
QMessageBox::critical(0,tr("错误"),tr("直径不应该为0"));
|
||||
}
|
||||
}
|
||||
if(pulseNumPerMM != 0){
|
||||
emit pulseNuxFixDone(pulseNumPerMM);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void PulseNumFix::on_radioButtonAccordingRate_released()
|
||||
{
|
||||
setUIEnableStatus();
|
||||
}
|
||||
|
||||
void PulseNumFix::on_radioButtonAccordingLength_released()
|
||||
{
|
||||
setUIEnableStatus();
|
||||
}
|
||||
|
||||
void PulseNumFix::on_radioButtonAccordingPulseNum_released()
|
||||
{
|
||||
setUIEnableStatus();
|
||||
}
|
||||
|
||||
void PulseNumFix::on_radioButtonSynchonizerPara_released()
|
||||
{
|
||||
setUIEnableStatus();
|
||||
}
|
||||
Reference in New Issue
Block a user