diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index a01b8e1..033746f 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -43,6 +43,7 @@ formaddrsetting.cpp \ formcheckpoint.cpp \ formcommsetting.cpp \ + formgageresult.cpp \ formverypoint.cpp \ indexwindow.cpp \ infomanageview.cpp \ @@ -75,6 +76,7 @@ databaseconnectionmainsys.h \ formaddrsetting.h \ formcommsetting.h \ + formgageresult.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ @@ -133,6 +135,7 @@ formaddrsetting.ui \ formcheckpoint.ui \ formcommsetting.ui \ + formgageresult.ui \ formverypoint.ui \ indexwindow.ui \ infomanageview.ui \ diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index a01b8e1..033746f 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -43,6 +43,7 @@ formaddrsetting.cpp \ formcheckpoint.cpp \ formcommsetting.cpp \ + formgageresult.cpp \ formverypoint.cpp \ indexwindow.cpp \ infomanageview.cpp \ @@ -75,6 +76,7 @@ databaseconnectionmainsys.h \ formaddrsetting.h \ formcommsetting.h \ + formgageresult.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ @@ -133,6 +135,7 @@ formaddrsetting.ui \ formcheckpoint.ui \ formcommsetting.ui \ + formgageresult.ui \ formverypoint.ui \ indexwindow.ui \ infomanageview.ui \ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index e054aa9..6750f11 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -7,6 +7,7 @@ #include "newcheckmethod.h" #include "formcheckpoint.h" #include "multiinputdialog.h" +#include "formgageresult.h" CheckWindow::CheckWindow(QWidget *parent) : QWidget(parent), @@ -383,6 +384,8 @@ QMessageBox::warning(this, "提示", "此检定项未开发或此设备无检测点"); return;}; //tableWidgetItem + QList calData = caliDataList.values().first(); + gaugeInfo = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeBystatus(calData[0][0]); ui->tableWidget_Point->clearContents(); ui->tableWidget_Point->setRowCount(0); deleteItem(ui->HeadListLayout); @@ -434,7 +437,7 @@ QPushButton *button = new QPushButton(sLabel, this); //设置样式 // 设置按钮大小为 56x20 - button->setFixedSize(85, 40); + //button->setFixedSize(85, 40); button->setCheckable(true); button->setAutoExclusive(true); //设置第一个按钮选中状态 @@ -463,11 +466,50 @@ ++index; } ui->HeadListLayout->addStretch(); + if(iEquipType==4){ + QLabel* label = new QLabel(this); + label->setText("单位:"); + ui->HeadListLayout->addWidget(label); + QLabel* label2 = new QLabel(this); + label2->setText("检定介质"); + ui->HeadListLayout->addWidget(label2); + QComboBox* combox = new QComboBox(this); + combox->addItem("氮气"); + combox->addItem("变压器油"); + combox->addItem("空气"); + combox->addItem("水"); + combox->addItem("其他"); + ui->HeadListLayout->addWidget(combox); + QLabel* label3 = new QLabel(this); + label3->setText("分度值的1/5:"); + ui->HeadListLayout->addWidget(label3); + QLineEdit* edit = new QLineEdit(this); + edit->setFixedWidth(100); + ui->HeadListLayout->addWidget(edit); + QPushButton *button = new QPushButton("生成结果处理", this); + button->setStyleSheet("QPushButton {" + "color: white;" + "background-color: rgba(0, 128, 254, 1);" + "}"); + connect(button, &QPushButton::clicked, this, [this]() { + //tackedWidget->setCurrentIndex(index); + openGageResult(); + }); + ui->HeadListLayout->addWidget(button); + } } ui->stackedWidget_2->setCurrentIndex(1); initCheckTable(0); } +void CheckWindow::openGageResult(){ + QList calData = caliDataList.values().first(); + FormGageResult *checkWindow = new FormGageResult(nullptr,calData[0][0]); + //checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + void CheckWindow::on_deviceButton_clicked(Dept task,int idx) { for(int i=0;isetSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); label->setText(dataRes[i][j]); label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + connect(label, &QLineEdit::textChanged, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + gageDataChange(); + }); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("-")); btn_1->setFont(QFont( "Timers",12,QFont::Bold)); @@ -857,9 +904,10 @@ btn_1->setFixedWidth(24); btn_1->setFlat(true); //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - connect(btn_1, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal-1)); + connect(btn_1, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + addGageData(false); }); QPushButton *btn_2 = new QPushButton(); btn_2->setText(tr("+")); @@ -873,9 +921,10 @@ btn_2->setFixedWidth(24); btn_2->setFlat(true); //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - connect(btn_2, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal+1)); + connect(btn_2, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal+1)); + addGageData(); }); // btn_2->setIconSize(QSize(16,16)); // btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); @@ -892,6 +941,91 @@ } } +void CheckWindow::gageDataChange(){ + QLineEdit *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + //qDebug() << pushButton_->text(); + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QString sLabel = headTableList.keys()[curHeadIdx]; + QList dataRes = caliDataList.value(sLabel); + + dataRes[row][col] = pushButton_->text(); + double dVal,dVal2; + if(col==2||col==4){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,4)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + //qDebug() << dVal <<";" << dVal2; + ui->tableWidgetCheck->setItem(row,6,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][6] = QString::number(dVal2-dVal); + } + }else if(col==3||col==5){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,3)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,5)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + ui->tableWidgetCheck->setItem(row,7,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][7] = QString::number(dVal2-dVal); + } + } + caliDataList.insert(sLabel,dataRes); +} + +void CheckWindow::addGageData(bool bAdd){ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QLayoutItem *child = pushButton_->parentWidget()->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + if(col==2||col==3){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,col+2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + } +} + void CheckWindow::connectDevice(){ if(connectList.length()>0&&connectList[0].type==0){ if(deviceEngine.openDevice(connectList[0].programInterface.visa,"Visa")){ diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index a01b8e1..033746f 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -43,6 +43,7 @@ formaddrsetting.cpp \ formcheckpoint.cpp \ formcommsetting.cpp \ + formgageresult.cpp \ formverypoint.cpp \ indexwindow.cpp \ infomanageview.cpp \ @@ -75,6 +76,7 @@ databaseconnectionmainsys.h \ formaddrsetting.h \ formcommsetting.h \ + formgageresult.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ @@ -133,6 +135,7 @@ formaddrsetting.ui \ formcheckpoint.ui \ formcommsetting.ui \ + formgageresult.ui \ formverypoint.ui \ indexwindow.ui \ infomanageview.ui \ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index e054aa9..6750f11 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -7,6 +7,7 @@ #include "newcheckmethod.h" #include "formcheckpoint.h" #include "multiinputdialog.h" +#include "formgageresult.h" CheckWindow::CheckWindow(QWidget *parent) : QWidget(parent), @@ -383,6 +384,8 @@ QMessageBox::warning(this, "提示", "此检定项未开发或此设备无检测点"); return;}; //tableWidgetItem + QList calData = caliDataList.values().first(); + gaugeInfo = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeBystatus(calData[0][0]); ui->tableWidget_Point->clearContents(); ui->tableWidget_Point->setRowCount(0); deleteItem(ui->HeadListLayout); @@ -434,7 +437,7 @@ QPushButton *button = new QPushButton(sLabel, this); //设置样式 // 设置按钮大小为 56x20 - button->setFixedSize(85, 40); + //button->setFixedSize(85, 40); button->setCheckable(true); button->setAutoExclusive(true); //设置第一个按钮选中状态 @@ -463,11 +466,50 @@ ++index; } ui->HeadListLayout->addStretch(); + if(iEquipType==4){ + QLabel* label = new QLabel(this); + label->setText("单位:"); + ui->HeadListLayout->addWidget(label); + QLabel* label2 = new QLabel(this); + label2->setText("检定介质"); + ui->HeadListLayout->addWidget(label2); + QComboBox* combox = new QComboBox(this); + combox->addItem("氮气"); + combox->addItem("变压器油"); + combox->addItem("空气"); + combox->addItem("水"); + combox->addItem("其他"); + ui->HeadListLayout->addWidget(combox); + QLabel* label3 = new QLabel(this); + label3->setText("分度值的1/5:"); + ui->HeadListLayout->addWidget(label3); + QLineEdit* edit = new QLineEdit(this); + edit->setFixedWidth(100); + ui->HeadListLayout->addWidget(edit); + QPushButton *button = new QPushButton("生成结果处理", this); + button->setStyleSheet("QPushButton {" + "color: white;" + "background-color: rgba(0, 128, 254, 1);" + "}"); + connect(button, &QPushButton::clicked, this, [this]() { + //tackedWidget->setCurrentIndex(index); + openGageResult(); + }); + ui->HeadListLayout->addWidget(button); + } } ui->stackedWidget_2->setCurrentIndex(1); initCheckTable(0); } +void CheckWindow::openGageResult(){ + QList calData = caliDataList.values().first(); + FormGageResult *checkWindow = new FormGageResult(nullptr,calData[0][0]); + //checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + void CheckWindow::on_deviceButton_clicked(Dept task,int idx) { for(int i=0;isetSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); label->setText(dataRes[i][j]); label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + connect(label, &QLineEdit::textChanged, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + gageDataChange(); + }); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("-")); btn_1->setFont(QFont( "Timers",12,QFont::Bold)); @@ -857,9 +904,10 @@ btn_1->setFixedWidth(24); btn_1->setFlat(true); //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - connect(btn_1, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal-1)); + connect(btn_1, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + addGageData(false); }); QPushButton *btn_2 = new QPushButton(); btn_2->setText(tr("+")); @@ -873,9 +921,10 @@ btn_2->setFixedWidth(24); btn_2->setFlat(true); //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - connect(btn_2, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal+1)); + connect(btn_2, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal+1)); + addGageData(); }); // btn_2->setIconSize(QSize(16,16)); // btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); @@ -892,6 +941,91 @@ } } +void CheckWindow::gageDataChange(){ + QLineEdit *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + //qDebug() << pushButton_->text(); + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QString sLabel = headTableList.keys()[curHeadIdx]; + QList dataRes = caliDataList.value(sLabel); + + dataRes[row][col] = pushButton_->text(); + double dVal,dVal2; + if(col==2||col==4){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,4)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + //qDebug() << dVal <<";" << dVal2; + ui->tableWidgetCheck->setItem(row,6,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][6] = QString::number(dVal2-dVal); + } + }else if(col==3||col==5){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,3)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,5)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + ui->tableWidgetCheck->setItem(row,7,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][7] = QString::number(dVal2-dVal); + } + } + caliDataList.insert(sLabel,dataRes); +} + +void CheckWindow::addGageData(bool bAdd){ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QLayoutItem *child = pushButton_->parentWidget()->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + if(col==2||col==3){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,col+2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + } +} + void CheckWindow::connectDevice(){ if(connectList.length()>0&&connectList[0].type==0){ if(deviceEngine.openDevice(connectList[0].programInterface.visa,"Visa")){ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index b3601f9..432e3da 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -68,7 +68,8 @@ void on_comboBox_visa_OnCurrentTextChanged(QString arg1); bool getJoinState(QString arg1); - + void gageDataChange(); + void addGageData(bool bAdd=true); private: void getCheckDevice(bool bInit=true); void getCheckMethod(); @@ -91,6 +92,7 @@ QString TranTypeUnit(QString sUnit); void Oscilloscopetextflow(); void closeDevice(); + void openGageResult(); private: Ui::CheckWindow *ui; QList programList; @@ -119,6 +121,7 @@ int currConnectIdx; QList pageButtons; QList chList; + DeviceMeasureCalibratorPistonGauge gaugeInfo; }; #endif // CHECKWINDOW_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index a01b8e1..033746f 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -43,6 +43,7 @@ formaddrsetting.cpp \ formcheckpoint.cpp \ formcommsetting.cpp \ + formgageresult.cpp \ formverypoint.cpp \ indexwindow.cpp \ infomanageview.cpp \ @@ -75,6 +76,7 @@ databaseconnectionmainsys.h \ formaddrsetting.h \ formcommsetting.h \ + formgageresult.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ @@ -133,6 +135,7 @@ formaddrsetting.ui \ formcheckpoint.ui \ formcommsetting.ui \ + formgageresult.ui \ formverypoint.ui \ indexwindow.ui \ infomanageview.ui \ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index e054aa9..6750f11 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -7,6 +7,7 @@ #include "newcheckmethod.h" #include "formcheckpoint.h" #include "multiinputdialog.h" +#include "formgageresult.h" CheckWindow::CheckWindow(QWidget *parent) : QWidget(parent), @@ -383,6 +384,8 @@ QMessageBox::warning(this, "提示", "此检定项未开发或此设备无检测点"); return;}; //tableWidgetItem + QList calData = caliDataList.values().first(); + gaugeInfo = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeBystatus(calData[0][0]); ui->tableWidget_Point->clearContents(); ui->tableWidget_Point->setRowCount(0); deleteItem(ui->HeadListLayout); @@ -434,7 +437,7 @@ QPushButton *button = new QPushButton(sLabel, this); //设置样式 // 设置按钮大小为 56x20 - button->setFixedSize(85, 40); + //button->setFixedSize(85, 40); button->setCheckable(true); button->setAutoExclusive(true); //设置第一个按钮选中状态 @@ -463,11 +466,50 @@ ++index; } ui->HeadListLayout->addStretch(); + if(iEquipType==4){ + QLabel* label = new QLabel(this); + label->setText("单位:"); + ui->HeadListLayout->addWidget(label); + QLabel* label2 = new QLabel(this); + label2->setText("检定介质"); + ui->HeadListLayout->addWidget(label2); + QComboBox* combox = new QComboBox(this); + combox->addItem("氮气"); + combox->addItem("变压器油"); + combox->addItem("空气"); + combox->addItem("水"); + combox->addItem("其他"); + ui->HeadListLayout->addWidget(combox); + QLabel* label3 = new QLabel(this); + label3->setText("分度值的1/5:"); + ui->HeadListLayout->addWidget(label3); + QLineEdit* edit = new QLineEdit(this); + edit->setFixedWidth(100); + ui->HeadListLayout->addWidget(edit); + QPushButton *button = new QPushButton("生成结果处理", this); + button->setStyleSheet("QPushButton {" + "color: white;" + "background-color: rgba(0, 128, 254, 1);" + "}"); + connect(button, &QPushButton::clicked, this, [this]() { + //tackedWidget->setCurrentIndex(index); + openGageResult(); + }); + ui->HeadListLayout->addWidget(button); + } } ui->stackedWidget_2->setCurrentIndex(1); initCheckTable(0); } +void CheckWindow::openGageResult(){ + QList calData = caliDataList.values().first(); + FormGageResult *checkWindow = new FormGageResult(nullptr,calData[0][0]); + //checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + void CheckWindow::on_deviceButton_clicked(Dept task,int idx) { for(int i=0;isetSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); label->setText(dataRes[i][j]); label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + connect(label, &QLineEdit::textChanged, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + gageDataChange(); + }); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("-")); btn_1->setFont(QFont( "Timers",12,QFont::Bold)); @@ -857,9 +904,10 @@ btn_1->setFixedWidth(24); btn_1->setFlat(true); //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - connect(btn_1, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal-1)); + connect(btn_1, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + addGageData(false); }); QPushButton *btn_2 = new QPushButton(); btn_2->setText(tr("+")); @@ -873,9 +921,10 @@ btn_2->setFixedWidth(24); btn_2->setFlat(true); //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - connect(btn_2, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal+1)); + connect(btn_2, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal+1)); + addGageData(); }); // btn_2->setIconSize(QSize(16,16)); // btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); @@ -892,6 +941,91 @@ } } +void CheckWindow::gageDataChange(){ + QLineEdit *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + //qDebug() << pushButton_->text(); + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QString sLabel = headTableList.keys()[curHeadIdx]; + QList dataRes = caliDataList.value(sLabel); + + dataRes[row][col] = pushButton_->text(); + double dVal,dVal2; + if(col==2||col==4){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,4)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + //qDebug() << dVal <<";" << dVal2; + ui->tableWidgetCheck->setItem(row,6,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][6] = QString::number(dVal2-dVal); + } + }else if(col==3||col==5){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,3)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,5)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + ui->tableWidgetCheck->setItem(row,7,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][7] = QString::number(dVal2-dVal); + } + } + caliDataList.insert(sLabel,dataRes); +} + +void CheckWindow::addGageData(bool bAdd){ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QLayoutItem *child = pushButton_->parentWidget()->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + if(col==2||col==3){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,col+2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + } +} + void CheckWindow::connectDevice(){ if(connectList.length()>0&&connectList[0].type==0){ if(deviceEngine.openDevice(connectList[0].programInterface.visa,"Visa")){ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index b3601f9..432e3da 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -68,7 +68,8 @@ void on_comboBox_visa_OnCurrentTextChanged(QString arg1); bool getJoinState(QString arg1); - + void gageDataChange(); + void addGageData(bool bAdd=true); private: void getCheckDevice(bool bInit=true); void getCheckMethod(); @@ -91,6 +92,7 @@ QString TranTypeUnit(QString sUnit); void Oscilloscopetextflow(); void closeDevice(); + void openGageResult(); private: Ui::CheckWindow *ui; QList programList; @@ -119,6 +121,7 @@ int currConnectIdx; QList pageButtons; QList chList; + DeviceMeasureCalibratorPistonGauge gaugeInfo; }; #endif // CHECKWINDOW_H diff --git a/softwareDirectory/AutoVerScheme/formgageresult.cpp b/softwareDirectory/AutoVerScheme/formgageresult.cpp new file mode 100644 index 0000000..5f54e97 --- /dev/null +++ b/softwareDirectory/AutoVerScheme/formgageresult.cpp @@ -0,0 +1,28 @@ +#include "formgageresult.h" +#include "ui_formgageresult.h" +#include "basecommonapi.h" + +FormGageResult::FormGageResult(QWidget *parent,QString deviceId) : + QWidget(parent), + sDeviceId(deviceId), + ui(new Ui::FormGageResult) +{ + ui->setupUi(this); + + QMap headList; + QMap> dataList = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate("一般压力表",sDeviceId,&headList); + + if(headList.count()>0){ + ui->tableWidget->setColumnCount(headList[0].count()); + ui->tableWidget->setHorizontalHeaderLabels(headList[0]); + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + } +} + +FormGageResult::~FormGageResult() +{ + delete ui; +} diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index a01b8e1..033746f 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -43,6 +43,7 @@ formaddrsetting.cpp \ formcheckpoint.cpp \ formcommsetting.cpp \ + formgageresult.cpp \ formverypoint.cpp \ indexwindow.cpp \ infomanageview.cpp \ @@ -75,6 +76,7 @@ databaseconnectionmainsys.h \ formaddrsetting.h \ formcommsetting.h \ + formgageresult.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ @@ -133,6 +135,7 @@ formaddrsetting.ui \ formcheckpoint.ui \ formcommsetting.ui \ + formgageresult.ui \ formverypoint.ui \ indexwindow.ui \ infomanageview.ui \ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index e054aa9..6750f11 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -7,6 +7,7 @@ #include "newcheckmethod.h" #include "formcheckpoint.h" #include "multiinputdialog.h" +#include "formgageresult.h" CheckWindow::CheckWindow(QWidget *parent) : QWidget(parent), @@ -383,6 +384,8 @@ QMessageBox::warning(this, "提示", "此检定项未开发或此设备无检测点"); return;}; //tableWidgetItem + QList calData = caliDataList.values().first(); + gaugeInfo = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeBystatus(calData[0][0]); ui->tableWidget_Point->clearContents(); ui->tableWidget_Point->setRowCount(0); deleteItem(ui->HeadListLayout); @@ -434,7 +437,7 @@ QPushButton *button = new QPushButton(sLabel, this); //设置样式 // 设置按钮大小为 56x20 - button->setFixedSize(85, 40); + //button->setFixedSize(85, 40); button->setCheckable(true); button->setAutoExclusive(true); //设置第一个按钮选中状态 @@ -463,11 +466,50 @@ ++index; } ui->HeadListLayout->addStretch(); + if(iEquipType==4){ + QLabel* label = new QLabel(this); + label->setText("单位:"); + ui->HeadListLayout->addWidget(label); + QLabel* label2 = new QLabel(this); + label2->setText("检定介质"); + ui->HeadListLayout->addWidget(label2); + QComboBox* combox = new QComboBox(this); + combox->addItem("氮气"); + combox->addItem("变压器油"); + combox->addItem("空气"); + combox->addItem("水"); + combox->addItem("其他"); + ui->HeadListLayout->addWidget(combox); + QLabel* label3 = new QLabel(this); + label3->setText("分度值的1/5:"); + ui->HeadListLayout->addWidget(label3); + QLineEdit* edit = new QLineEdit(this); + edit->setFixedWidth(100); + ui->HeadListLayout->addWidget(edit); + QPushButton *button = new QPushButton("生成结果处理", this); + button->setStyleSheet("QPushButton {" + "color: white;" + "background-color: rgba(0, 128, 254, 1);" + "}"); + connect(button, &QPushButton::clicked, this, [this]() { + //tackedWidget->setCurrentIndex(index); + openGageResult(); + }); + ui->HeadListLayout->addWidget(button); + } } ui->stackedWidget_2->setCurrentIndex(1); initCheckTable(0); } +void CheckWindow::openGageResult(){ + QList calData = caliDataList.values().first(); + FormGageResult *checkWindow = new FormGageResult(nullptr,calData[0][0]); + //checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + void CheckWindow::on_deviceButton_clicked(Dept task,int idx) { for(int i=0;isetSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); label->setText(dataRes[i][j]); label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + connect(label, &QLineEdit::textChanged, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + gageDataChange(); + }); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("-")); btn_1->setFont(QFont( "Timers",12,QFont::Bold)); @@ -857,9 +904,10 @@ btn_1->setFixedWidth(24); btn_1->setFlat(true); //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - connect(btn_1, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal-1)); + connect(btn_1, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + addGageData(false); }); QPushButton *btn_2 = new QPushButton(); btn_2->setText(tr("+")); @@ -873,9 +921,10 @@ btn_2->setFixedWidth(24); btn_2->setFlat(true); //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - connect(btn_2, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal+1)); + connect(btn_2, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal+1)); + addGageData(); }); // btn_2->setIconSize(QSize(16,16)); // btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); @@ -892,6 +941,91 @@ } } +void CheckWindow::gageDataChange(){ + QLineEdit *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + //qDebug() << pushButton_->text(); + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QString sLabel = headTableList.keys()[curHeadIdx]; + QList dataRes = caliDataList.value(sLabel); + + dataRes[row][col] = pushButton_->text(); + double dVal,dVal2; + if(col==2||col==4){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,4)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + //qDebug() << dVal <<";" << dVal2; + ui->tableWidgetCheck->setItem(row,6,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][6] = QString::number(dVal2-dVal); + } + }else if(col==3||col==5){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,3)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,5)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + ui->tableWidgetCheck->setItem(row,7,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][7] = QString::number(dVal2-dVal); + } + } + caliDataList.insert(sLabel,dataRes); +} + +void CheckWindow::addGageData(bool bAdd){ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QLayoutItem *child = pushButton_->parentWidget()->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + if(col==2||col==3){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,col+2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + } +} + void CheckWindow::connectDevice(){ if(connectList.length()>0&&connectList[0].type==0){ if(deviceEngine.openDevice(connectList[0].programInterface.visa,"Visa")){ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index b3601f9..432e3da 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -68,7 +68,8 @@ void on_comboBox_visa_OnCurrentTextChanged(QString arg1); bool getJoinState(QString arg1); - + void gageDataChange(); + void addGageData(bool bAdd=true); private: void getCheckDevice(bool bInit=true); void getCheckMethod(); @@ -91,6 +92,7 @@ QString TranTypeUnit(QString sUnit); void Oscilloscopetextflow(); void closeDevice(); + void openGageResult(); private: Ui::CheckWindow *ui; QList programList; @@ -119,6 +121,7 @@ int currConnectIdx; QList pageButtons; QList chList; + DeviceMeasureCalibratorPistonGauge gaugeInfo; }; #endif // CHECKWINDOW_H diff --git a/softwareDirectory/AutoVerScheme/formgageresult.cpp b/softwareDirectory/AutoVerScheme/formgageresult.cpp new file mode 100644 index 0000000..5f54e97 --- /dev/null +++ b/softwareDirectory/AutoVerScheme/formgageresult.cpp @@ -0,0 +1,28 @@ +#include "formgageresult.h" +#include "ui_formgageresult.h" +#include "basecommonapi.h" + +FormGageResult::FormGageResult(QWidget *parent,QString deviceId) : + QWidget(parent), + sDeviceId(deviceId), + ui(new Ui::FormGageResult) +{ + ui->setupUi(this); + + QMap headList; + QMap> dataList = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate("一般压力表",sDeviceId,&headList); + + if(headList.count()>0){ + ui->tableWidget->setColumnCount(headList[0].count()); + ui->tableWidget->setHorizontalHeaderLabels(headList[0]); + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + } +} + +FormGageResult::~FormGageResult() +{ + delete ui; +} diff --git a/softwareDirectory/AutoVerScheme/formgageresult.h b/softwareDirectory/AutoVerScheme/formgageresult.h new file mode 100644 index 0000000..d13fc6b --- /dev/null +++ b/softwareDirectory/AutoVerScheme/formgageresult.h @@ -0,0 +1,25 @@ +#ifndef FORMGAGERESULT_H +#define FORMGAGERESULT_H + +#include + +namespace Ui { +class FormGageResult; +} + +class FormGageResult : public QWidget +{ + Q_OBJECT + +public: + explicit FormGageResult(QWidget *parent = nullptr,QString deviceId=""); + ~FormGageResult(); + +private: + Ui::FormGageResult *ui; + QString sDeviceId; + //QMap> caliDataList; + //QMap headTableList; +}; + +#endif // FORMGAGERESULT_H diff --git a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro index a01b8e1..033746f 100644 --- a/softwareDirectory/AutoVerScheme/AutoVerScheme.pro +++ b/softwareDirectory/AutoVerScheme/AutoVerScheme.pro @@ -43,6 +43,7 @@ formaddrsetting.cpp \ formcheckpoint.cpp \ formcommsetting.cpp \ + formgageresult.cpp \ formverypoint.cpp \ indexwindow.cpp \ infomanageview.cpp \ @@ -75,6 +76,7 @@ databaseconnectionmainsys.h \ formaddrsetting.h \ formcommsetting.h \ + formgageresult.h \ id/IdWorker.h \ id/Noncopyable.h \ id/Singleton.h \ @@ -133,6 +135,7 @@ formaddrsetting.ui \ formcheckpoint.ui \ formcommsetting.ui \ + formgageresult.ui \ formverypoint.ui \ indexwindow.ui \ infomanageview.ui \ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.cpp b/softwareDirectory/AutoVerScheme/checkwindow.cpp index e054aa9..6750f11 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.cpp +++ b/softwareDirectory/AutoVerScheme/checkwindow.cpp @@ -7,6 +7,7 @@ #include "newcheckmethod.h" #include "formcheckpoint.h" #include "multiinputdialog.h" +#include "formgageresult.h" CheckWindow::CheckWindow(QWidget *parent) : QWidget(parent), @@ -383,6 +384,8 @@ QMessageBox::warning(this, "提示", "此检定项未开发或此设备无检测点"); return;}; //tableWidgetItem + QList calData = caliDataList.values().first(); + gaugeInfo = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeBystatus(calData[0][0]); ui->tableWidget_Point->clearContents(); ui->tableWidget_Point->setRowCount(0); deleteItem(ui->HeadListLayout); @@ -434,7 +437,7 @@ QPushButton *button = new QPushButton(sLabel, this); //设置样式 // 设置按钮大小为 56x20 - button->setFixedSize(85, 40); + //button->setFixedSize(85, 40); button->setCheckable(true); button->setAutoExclusive(true); //设置第一个按钮选中状态 @@ -463,11 +466,50 @@ ++index; } ui->HeadListLayout->addStretch(); + if(iEquipType==4){ + QLabel* label = new QLabel(this); + label->setText("单位:"); + ui->HeadListLayout->addWidget(label); + QLabel* label2 = new QLabel(this); + label2->setText("检定介质"); + ui->HeadListLayout->addWidget(label2); + QComboBox* combox = new QComboBox(this); + combox->addItem("氮气"); + combox->addItem("变压器油"); + combox->addItem("空气"); + combox->addItem("水"); + combox->addItem("其他"); + ui->HeadListLayout->addWidget(combox); + QLabel* label3 = new QLabel(this); + label3->setText("分度值的1/5:"); + ui->HeadListLayout->addWidget(label3); + QLineEdit* edit = new QLineEdit(this); + edit->setFixedWidth(100); + ui->HeadListLayout->addWidget(edit); + QPushButton *button = new QPushButton("生成结果处理", this); + button->setStyleSheet("QPushButton {" + "color: white;" + "background-color: rgba(0, 128, 254, 1);" + "}"); + connect(button, &QPushButton::clicked, this, [this]() { + //tackedWidget->setCurrentIndex(index); + openGageResult(); + }); + ui->HeadListLayout->addWidget(button); + } } ui->stackedWidget_2->setCurrentIndex(1); initCheckTable(0); } +void CheckWindow::openGageResult(){ + QList calData = caliDataList.values().first(); + FormGageResult *checkWindow = new FormGageResult(nullptr,calData[0][0]); + //checkWindow->setWindowState(Qt::WindowMaximized); + checkWindow->setWindowModality(Qt::ApplicationModal); + checkWindow->show(); +} + void CheckWindow::on_deviceButton_clicked(Dept task,int idx) { for(int i=0;isetSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); label->setText(dataRes[i][j]); label->setStyleSheet("QLineEdit{border-with:0;border-style:outset}"); + connect(label, &QLineEdit::textChanged, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + gageDataChange(); + }); QPushButton *btn_1 = new QPushButton(); btn_1->setText(tr("-")); btn_1->setFont(QFont( "Timers",12,QFont::Bold)); @@ -857,9 +904,10 @@ btn_1->setFixedWidth(24); btn_1->setFlat(true); //connect(btn_1,SIGNAL(clicked()),this,SLOT(on_editButton_clicked())); - connect(btn_1, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal-1)); + connect(btn_1, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal-1)); + addGageData(false); }); QPushButton *btn_2 = new QPushButton(); btn_2->setText(tr("+")); @@ -873,9 +921,10 @@ btn_2->setFixedWidth(24); btn_2->setFlat(true); //connect(btn_2,SIGNAL(clicked()),this,SLOT(on_deleteButton_clicked())); - connect(btn_2, &QPushButton::clicked, this, [this,label]() { - double dVal = label->text().toDouble(); - label->setText(QString::number(dVal+1)); + connect(btn_2, &QPushButton::clicked, this, [this]() { + //double dVal = label->text().toDouble(); + //label->setText(QString::number(dVal+1)); + addGageData(); }); // btn_2->setIconSize(QSize(16,16)); // btn_2->setIcon(QIcon(":/image/Index/u2325.svg")); @@ -892,6 +941,91 @@ } } +void CheckWindow::gageDataChange(){ + QLineEdit *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + //qDebug() << pushButton_->text(); + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QString sLabel = headTableList.keys()[curHeadIdx]; + QList dataRes = caliDataList.value(sLabel); + + dataRes[row][col] = pushButton_->text(); + double dVal,dVal2; + if(col==2||col==4){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,4)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + //qDebug() << dVal <<";" << dVal2; + ui->tableWidgetCheck->setItem(row,6,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][6] = QString::number(dVal2-dVal); + } + }else if(col==3||col==5){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,3)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + QLayoutItem *child2 = ui->tableWidgetCheck->cellWidget(row,5)->layout()->itemAt(1); + QLineEdit* editCtrl2 = qobject_cast(child2->widget()); + if(editCtrl!=nullptr&&editCtrl2!=nullptr){ + dVal = editCtrl->text().toDouble(); + dVal2 = editCtrl2->text().toDouble(); + ui->tableWidgetCheck->setItem(row,7,new QTableWidgetItem(QString::number(dVal2-dVal))); + dataRes[row][7] = QString::number(dVal2-dVal); + } + } + caliDataList.insert(sLabel,dataRes); +} + +void CheckWindow::addGageData(bool bAdd){ + QPushButton *pushButton_ = dynamic_cast(this->sender()); + if(NULL == pushButton_) + { + return; + } + // 获取按钮的x坐标和y坐标 + int x = pushButton_->parentWidget()->frameGeometry().x(); + int y = pushButton_->parentWidget()->frameGeometry().y(); + // 根据按钮的x和y坐标来定位对应的单元格 + QModelIndex index = ui->tableWidgetCheck->indexAt(QPoint(x, y)); + // 获取该按钮所在表格的行号和列号 + int row = index.row(); + int col = index.column(); + QLayoutItem *child = pushButton_->parentWidget()->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + if(col==2||col==3){ + QLayoutItem *child = ui->tableWidgetCheck->cellWidget(row,col+2)->layout()->itemAt(1); + QLineEdit* editCtrl = qobject_cast(child->widget()); + if(editCtrl!=nullptr){ + double dVal = editCtrl->text().toDouble(); + if(bAdd) + dVal+=1; + else + dVal-=1; + editCtrl->setText(QString::number(dVal)); + } + } +} + void CheckWindow::connectDevice(){ if(connectList.length()>0&&connectList[0].type==0){ if(deviceEngine.openDevice(connectList[0].programInterface.visa,"Visa")){ diff --git a/softwareDirectory/AutoVerScheme/checkwindow.h b/softwareDirectory/AutoVerScheme/checkwindow.h index b3601f9..432e3da 100644 --- a/softwareDirectory/AutoVerScheme/checkwindow.h +++ b/softwareDirectory/AutoVerScheme/checkwindow.h @@ -68,7 +68,8 @@ void on_comboBox_visa_OnCurrentTextChanged(QString arg1); bool getJoinState(QString arg1); - + void gageDataChange(); + void addGageData(bool bAdd=true); private: void getCheckDevice(bool bInit=true); void getCheckMethod(); @@ -91,6 +92,7 @@ QString TranTypeUnit(QString sUnit); void Oscilloscopetextflow(); void closeDevice(); + void openGageResult(); private: Ui::CheckWindow *ui; QList programList; @@ -119,6 +121,7 @@ int currConnectIdx; QList pageButtons; QList chList; + DeviceMeasureCalibratorPistonGauge gaugeInfo; }; #endif // CHECKWINDOW_H diff --git a/softwareDirectory/AutoVerScheme/formgageresult.cpp b/softwareDirectory/AutoVerScheme/formgageresult.cpp new file mode 100644 index 0000000..5f54e97 --- /dev/null +++ b/softwareDirectory/AutoVerScheme/formgageresult.cpp @@ -0,0 +1,28 @@ +#include "formgageresult.h" +#include "ui_formgageresult.h" +#include "basecommonapi.h" + +FormGageResult::FormGageResult(QWidget *parent,QString deviceId) : + QWidget(parent), + sDeviceId(deviceId), + ui(new Ui::FormGageResult) +{ + ui->setupUi(this); + + QMap headList; + QMap> dataList = BaseCommonApi::getDeviceMeasureCalibratorPistonGaugeGenerate("一般压力表",sDeviceId,&headList); + + if(headList.count()>0){ + ui->tableWidget->setColumnCount(headList[0].count()); + ui->tableWidget->setHorizontalHeaderLabels(headList[0]); + for(int i=0;itableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch); + } + } +} + +FormGageResult::~FormGageResult() +{ + delete ui; +} diff --git a/softwareDirectory/AutoVerScheme/formgageresult.h b/softwareDirectory/AutoVerScheme/formgageresult.h new file mode 100644 index 0000000..d13fc6b --- /dev/null +++ b/softwareDirectory/AutoVerScheme/formgageresult.h @@ -0,0 +1,25 @@ +#ifndef FORMGAGERESULT_H +#define FORMGAGERESULT_H + +#include + +namespace Ui { +class FormGageResult; +} + +class FormGageResult : public QWidget +{ + Q_OBJECT + +public: + explicit FormGageResult(QWidget *parent = nullptr,QString deviceId=""); + ~FormGageResult(); + +private: + Ui::FormGageResult *ui; + QString sDeviceId; + //QMap> caliDataList; + //QMap headTableList; +}; + +#endif // FORMGAGERESULT_H diff --git a/softwareDirectory/AutoVerScheme/formgageresult.ui b/softwareDirectory/AutoVerScheme/formgageresult.ui new file mode 100644 index 0000000..22b0ee2 --- /dev/null +++ b/softwareDirectory/AutoVerScheme/formgageresult.ui @@ -0,0 +1,110 @@ + + + FormGageResult + + + + 0 + 0 + 737 + 458 + + + + 生成结果处理 + + + background-color: rgb(255, 255, 255); + + + + + + + + + + + 结果: + + + + + + + + + + 输出备注: + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 12 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgb(55, 83, 123); + + + 关闭 + + + + :/image/Index/u709.svg + + + + + 24 + 24 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + +