From ff4030fe5f0c305a3dbe1bf0a7b9cae20d6a0a55 Mon Sep 17 00:00:00 2001 From: yuntang <123@qq.com> Date: Fri, 11 Apr 2025 17:17:37 +0800 Subject: [PATCH] 2025-04-11T17:17:36 --- src/AnalysTool.pro | 3 + src/mainwindow.cpp | 35 ++++++++- src/mainwindow.h | 3 + src/ui/degreeofcrystallinityform.cpp | 10 +++ src/ui/degreeofcrystallinityform.ui | 32 +++++++- src/ui/degreeofcureform.cpp | 15 ++++ src/ui/degreeofcureform.h | 5 ++ src/ui/degreeofcureform.ui | 10 +-- src/ui/instrumentcoefficientform.cpp | 5 ++ src/ui/instrumentcoefficientform.h | 2 + src/ui/instrumentcoefficientform.ui | 108 ++++++++++++++++++++++++++- src/ui/oitautoanalysisparamform.cpp | 19 +++++ src/ui/oitautoanalysisparamform.h | 25 +++++++ src/ui/oitautoanalysisparamform.ui | 77 +++++++++++++++++++ 14 files changed, 337 insertions(+), 12 deletions(-) create mode 100644 src/ui/oitautoanalysisparamform.cpp create mode 100644 src/ui/oitautoanalysisparamform.h create mode 100644 src/ui/oitautoanalysisparamform.ui diff --git a/src/AnalysTool.pro b/src/AnalysTool.pro index 53b0a8c..4a982a9 100644 --- a/src/AnalysTool.pro +++ b/src/AnalysTool.pro @@ -35,6 +35,7 @@ SOURCES += \ ui/experimentsettingform.cpp \ ui/instrumentcoefficientform.cpp \ ui/leftwidget.cpp \ + ui/oitautoanalysisparamform.cpp \ ui/realtimedataform.cpp \ ui/specificheatcomparisonmethodform.cpp @@ -59,6 +60,7 @@ HEADERS += \ ui/experimentsettingform.h \ ui/instrumentcoefficientform.h \ ui/leftwidget.h \ + ui/oitautoanalysisparamform.h \ ui/realtimedataform.h \ ui/specificheatcomparisonmethodform.h @@ -68,6 +70,7 @@ FORMS += \ ui/degreeofcureform.ui \ ui/experimentsettingform.ui \ ui/instrumentcoefficientform.ui \ + ui/oitautoanalysisparamform.ui \ ui/realtimedataform.ui \ ui/specificheatcomparisonmethodform.ui diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 7d29465..8b44781 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -20,6 +20,8 @@ MainWindow::MainWindow(QWidget *parent) ,_specificHeatComparisonMethodForm(new SpecificHeatComparisonMethodForm(this)) ,_instrumentCoefficientForm(new InstrumentCoefficientForm(this)) ,_degreeOfCureForm(new DegreeOfCureForm(this)) + ,_OITAutoAnalysisParamForm(new OITAutoAnalysisParamForm(this)) + ,_degreeOfCrystallinityForm(new DegreeOfCrystallinityForm(this)) { ui->setupUi(this); this->setToolTip("....."); @@ -37,7 +39,7 @@ MainWindow::MainWindow(QWidget *parent) permenentLabel->setText("Permanent show!"); ui->statusbar->addPermanentWidget(permenentLabel); // - // +#if 0 _expertmentSettingForm->setWindowFlags(_expertmentSettingForm->windowFlags()| Qt::Dialog); _specificHeatComparisonMethodForm->setWindowFlags( @@ -48,8 +50,27 @@ MainWindow::MainWindow(QWidget *parent) _degreeOfCureForm->setWindowFlags(_degreeOfCureForm->windowFlags()| Qt::Dialog); + _instrumentCoefficientForm->setWindowFlags(_instrumentCoefficientForm->windowFlags()| + Qt::Dialog); + _OITAutoAnalysisParamForm->setWindowFlags(_OITAutoAnalysisParamForm->windowFlags()| + Qt::Dialog); +// _degreeOfCrystallinityForm->setWindowFlags(_degreeOfCrystallinityForm->windowFlags()| +// Qt::Dialog); - // _realTimeDataForm->show(); + // 设置子窗口为模态对话框 + _degreeOfCrystallinityForm->setWindowModality(Qt::ApplicationModal); + _degreeOfCrystallinityForm->setWindowFlags(Qt::Dialog); +#endif + + setSubWidgetAttribute(_expertmentSettingForm); + setSubWidgetAttribute(_specificHeatComparisonMethodForm); + setSubWidgetAttribute(_realTimeDataForm); + setSubWidgetAttribute(_degreeOfCureForm); + setSubWidgetAttribute(_instrumentCoefficientForm); + setSubWidgetAttribute(_OITAutoAnalysisParamForm); + setSubWidgetAttribute(_degreeOfCrystallinityForm); + + // setActionEnable(true); _eventHandler = _centralWidget->getEvnetHandler(); @@ -137,6 +158,12 @@ void MainWindow::setActionEnable(const bool flag) } } +void MainWindow::setSubWidgetAttribute(QWidget *widget) +{ + widget->setWindowModality(Qt::ApplicationModal); + widget->setWindowFlags(Qt::Dialog); +} + void MainWindow::on_actionStop_triggered() { QByteArray ba = DataParser::setDeviceStartStop(DeviceStartMode::Stop); @@ -241,7 +268,8 @@ void MainWindow::on_actionSpecificHeatCompMethod_triggered() void MainWindow::on_actionDegreeOfCrystallinity_triggered() { - QMessageBox::warning(this, "warnning", "结晶度."); +// QMessageBox::warning(this, "warnning", "结晶度."); + _degreeOfCrystallinityForm->show(); } void MainWindow::on_actionInstrumentParameter_triggered() @@ -259,6 +287,7 @@ void MainWindow::on_actionFinalMeltingPoint_triggered() void MainWindow::on_actionOITAutoAnalysisParam_triggered() { + _OITAutoAnalysisParamForm->show(); } void MainWindow::on_actionOITAutoAnalysisMode_triggered() diff --git a/src/mainwindow.h b/src/mainwindow.h index cf1a7f9..ee21acc 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -16,6 +16,7 @@ #include "degreeofcrystallinityform.h" #include "instrumentcoefficientform.h" #include "degreeofcureform.h" +#include "oitautoanalysisparamform.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } @@ -71,6 +72,7 @@ private slots: private: void connections(); void setActionEnable(const bool); + void setSubWidgetAttribute(QWidget *); private: Ui::MainWindow *ui; CentralWidget *_centralWidget; @@ -85,5 +87,6 @@ private: DegreeOfCrystallinityForm * _degreeOfCrystallinityForm; InstrumentCoefficientForm* _instrumentCoefficientForm; DegreeOfCureForm *_degreeOfCureForm; + OITAutoAnalysisParamForm* _OITAutoAnalysisParamForm; }; #endif // MAINWINDOW_H diff --git a/src/ui/degreeofcrystallinityform.cpp b/src/ui/degreeofcrystallinityform.cpp index efc8b8b..10f91b1 100644 --- a/src/ui/degreeofcrystallinityform.cpp +++ b/src/ui/degreeofcrystallinityform.cpp @@ -15,10 +15,20 @@ DegreeOfCrystallinityForm::~DegreeOfCrystallinityForm() void DegreeOfCrystallinityForm::on_pushButtonCalculate_clicked() { + float enthalpy = ui->LineEditEnthalpyOfCrystallization->text().toFloat(); + float enthalpyCold = ui->LineEditEnthalpyOfColdCrystallization->text().toFloat(); + float enthalpyTheory = ui->LineEditTheoreticalEnthalpy->text().toFloat(); + float Xc = (enthalpy - enthalpyCold) / enthalpyTheory / 100; + ui->xcLineEditDegreedOfCrystallinity->setText(QString::number(Xc,'f',3)); } void DegreeOfCrystallinityForm::on_pushButtonQuit_clicked() { + ui->LineEditEnthalpyOfCrystallization->text().clear(); + ui->LineEditEnthalpyOfColdCrystallization->text().clear(); + ui->LineEditTheoreticalEnthalpy->text().clear(); + ui->xcLineEditDegreedOfCrystallinity->text().clear(); + hide(); } diff --git a/src/ui/degreeofcrystallinityform.ui b/src/ui/degreeofcrystallinityform.ui index 058b662..530c340 100644 --- a/src/ui/degreeofcrystallinityform.ui +++ b/src/ui/degreeofcrystallinityform.ui @@ -28,14 +28,14 @@ - 23 + 13 32 - 231 + 261 31 - Xc = (结晶焓 - 冷结晶焓) / 理论热焓 + Xc = (结晶焓 - 冷结晶焓) / 理论热焓 X 100% @@ -129,6 +129,32 @@ + + + + 120 + 350 + 80 + 20 + + + + 计算 + + + + + + 230 + 350 + 80 + 20 + + + + 退出 + + diff --git a/src/ui/degreeofcureform.cpp b/src/ui/degreeofcureform.cpp index 56330a6..a7944dc 100644 --- a/src/ui/degreeofcureform.cpp +++ b/src/ui/degreeofcureform.cpp @@ -12,3 +12,18 @@ DegreeOfCureForm::~DegreeOfCureForm() { delete ui; } + +void DegreeOfCureForm::on_pushButtonCalculate_clicked() +{ + float precure = ui->LineEditPrecure->text().toFloat(); + float afterCuring = ui->jGLineEditAfterCuring->text().toFloat(); + + float degree = (precure - afterCuring)/afterCuring/100; + + ui->LineEditDegreeOfCure->setText(QString::number(degree,'f',3)); +} + +void DegreeOfCureForm::on_pushButtonQuit_clicked() +{ + hide(); +} diff --git a/src/ui/degreeofcureform.h b/src/ui/degreeofcureform.h index fb2443d..cd1cc8d 100644 --- a/src/ui/degreeofcureform.h +++ b/src/ui/degreeofcureform.h @@ -15,6 +15,11 @@ public: explicit DegreeOfCureForm(QWidget *parent = nullptr); ~DegreeOfCureForm(); +private slots: + void on_pushButtonCalculate_clicked(); + + void on_pushButtonQuit_clicked(); + private: Ui::DegreeOfCureForm *ui; }; diff --git a/src/ui/degreeofcureform.ui b/src/ui/degreeofcureform.ui index dfe626f..ff9b774 100644 --- a/src/ui/degreeofcureform.ui +++ b/src/ui/degreeofcureform.ui @@ -44,17 +44,17 @@ 70 60 161 - 1 + 2 16777215 - 1 + 2 - PushButton + ------------------------------- @@ -127,7 +127,7 @@ - + @@ -137,7 +137,7 @@ - + diff --git a/src/ui/instrumentcoefficientform.cpp b/src/ui/instrumentcoefficientform.cpp index 08f6bc1..d39a557 100644 --- a/src/ui/instrumentcoefficientform.cpp +++ b/src/ui/instrumentcoefficientform.cpp @@ -22,3 +22,8 @@ void InstrumentCoefficientForm::on_pushButtonExit_clicked() { } + +void InstrumentCoefficientForm::on_pushButtonCancel_clicked() +{ + hide(); +} diff --git a/src/ui/instrumentcoefficientform.h b/src/ui/instrumentcoefficientform.h index f7819d8..71c5319 100644 --- a/src/ui/instrumentcoefficientform.h +++ b/src/ui/instrumentcoefficientform.h @@ -20,6 +20,8 @@ private slots: void on_pushButtonExit_clicked(); + void on_pushButtonCancel_clicked(); + private: Ui::InstrumentCoefficientForm *ui; }; diff --git a/src/ui/instrumentcoefficientform.ui b/src/ui/instrumentcoefficientform.ui index 183edb3..4c67121 100644 --- a/src/ui/instrumentcoefficientform.ui +++ b/src/ui/instrumentcoefficientform.ui @@ -7,12 +7,118 @@ 0 0 244 - 356 + 275 Form + + + + 10 + 20 + 221 + 111 + + + + 参数 + + + + + 10 + 30 + 201 + 71 + + + + + + + 理论熔融热焓(J/g): + + + + + + + + + + 实测熔融热焓(J/g): + + + + + + + + + + + + + 10 + 140 + 221 + 81 + + + + 计算结果 + + + + + 10 + 30 + 191 + 41 + + + + + + + 仪器系数 K: + + + + + + + + + + + + + 50 + 240 + 80 + 20 + + + + 计算 + + + + + + 140 + 240 + 80 + 20 + + + + 退出 + + diff --git a/src/ui/oitautoanalysisparamform.cpp b/src/ui/oitautoanalysisparamform.cpp new file mode 100644 index 0000000..a48ff0f --- /dev/null +++ b/src/ui/oitautoanalysisparamform.cpp @@ -0,0 +1,19 @@ +#include "oitautoanalysisparamform.h" +#include "ui_oitautoanalysisparamform.h" + +OITAutoAnalysisParamForm::OITAutoAnalysisParamForm(QWidget *parent) : + QWidget(parent), + ui(new Ui::OITAutoAnalysisParamForm) +{ + ui->setupUi(this); +} + +OITAutoAnalysisParamForm::~OITAutoAnalysisParamForm() +{ + delete ui; +} + +void OITAutoAnalysisParamForm::on_pushButtonOk_clicked() +{ + hide(); +} diff --git a/src/ui/oitautoanalysisparamform.h b/src/ui/oitautoanalysisparamform.h new file mode 100644 index 0000000..01a82f3 --- /dev/null +++ b/src/ui/oitautoanalysisparamform.h @@ -0,0 +1,25 @@ +#ifndef OITAUTOANALYSISPARAMFORM_H +#define OITAUTOANALYSISPARAMFORM_H + +#include + +namespace Ui { +class OITAutoAnalysisParamForm; +} + +class OITAutoAnalysisParamForm : public QWidget +{ + Q_OBJECT + +public: + explicit OITAutoAnalysisParamForm(QWidget *parent = nullptr); + ~OITAutoAnalysisParamForm(); + +private slots: + void on_pushButtonOk_clicked(); + +private: + Ui::OITAutoAnalysisParamForm *ui; +}; + +#endif // OITAUTOANALYSISPARAMFORM_H diff --git a/src/ui/oitautoanalysisparamform.ui b/src/ui/oitautoanalysisparamform.ui new file mode 100644 index 0000000..30ea8c2 --- /dev/null +++ b/src/ui/oitautoanalysisparamform.ui @@ -0,0 +1,77 @@ + + + OITAutoAnalysisParamForm + + + + 0 + 0 + 233 + 156 + + + + Form + + + + + 130 + 120 + 80 + 20 + + + + 确定 + + + + + + 10 + 10 + 191 + 91 + + + + 参数 + + + + + 10 + 20 + 171 + 61 + + + + + + + 系数: + + + + + + + + + + 阈值: + + + + + + + + + + + + +