2025-04-11T17:17:36

This commit is contained in:
yuntang 2025-04-11 17:17:37 +08:00
parent db60cd0e17
commit ff4030fe5f
14 changed files with 337 additions and 12 deletions

View File

@ -35,6 +35,7 @@ SOURCES += \
ui/experimentsettingform.cpp \ ui/experimentsettingform.cpp \
ui/instrumentcoefficientform.cpp \ ui/instrumentcoefficientform.cpp \
ui/leftwidget.cpp \ ui/leftwidget.cpp \
ui/oitautoanalysisparamform.cpp \
ui/realtimedataform.cpp \ ui/realtimedataform.cpp \
ui/specificheatcomparisonmethodform.cpp ui/specificheatcomparisonmethodform.cpp
@ -59,6 +60,7 @@ HEADERS += \
ui/experimentsettingform.h \ ui/experimentsettingform.h \
ui/instrumentcoefficientform.h \ ui/instrumentcoefficientform.h \
ui/leftwidget.h \ ui/leftwidget.h \
ui/oitautoanalysisparamform.h \
ui/realtimedataform.h \ ui/realtimedataform.h \
ui/specificheatcomparisonmethodform.h ui/specificheatcomparisonmethodform.h
@ -68,6 +70,7 @@ FORMS += \
ui/degreeofcureform.ui \ ui/degreeofcureform.ui \
ui/experimentsettingform.ui \ ui/experimentsettingform.ui \
ui/instrumentcoefficientform.ui \ ui/instrumentcoefficientform.ui \
ui/oitautoanalysisparamform.ui \
ui/realtimedataform.ui \ ui/realtimedataform.ui \
ui/specificheatcomparisonmethodform.ui ui/specificheatcomparisonmethodform.ui

View File

@ -20,6 +20,8 @@ MainWindow::MainWindow(QWidget *parent)
,_specificHeatComparisonMethodForm(new SpecificHeatComparisonMethodForm(this)) ,_specificHeatComparisonMethodForm(new SpecificHeatComparisonMethodForm(this))
,_instrumentCoefficientForm(new InstrumentCoefficientForm(this)) ,_instrumentCoefficientForm(new InstrumentCoefficientForm(this))
,_degreeOfCureForm(new DegreeOfCureForm(this)) ,_degreeOfCureForm(new DegreeOfCureForm(this))
,_OITAutoAnalysisParamForm(new OITAutoAnalysisParamForm(this))
,_degreeOfCrystallinityForm(new DegreeOfCrystallinityForm(this))
{ {
ui->setupUi(this); ui->setupUi(this);
this->setToolTip("....."); this->setToolTip(".....");
@ -37,7 +39,7 @@ MainWindow::MainWindow(QWidget *parent)
permenentLabel->setText("Permanent show!"); permenentLabel->setText("Permanent show!");
ui->statusbar->addPermanentWidget(permenentLabel); ui->statusbar->addPermanentWidget(permenentLabel);
// //
// #if 0
_expertmentSettingForm->setWindowFlags(_expertmentSettingForm->windowFlags()| _expertmentSettingForm->setWindowFlags(_expertmentSettingForm->windowFlags()|
Qt::Dialog); Qt::Dialog);
_specificHeatComparisonMethodForm->setWindowFlags( _specificHeatComparisonMethodForm->setWindowFlags(
@ -48,8 +50,27 @@ MainWindow::MainWindow(QWidget *parent)
_degreeOfCureForm->setWindowFlags(_degreeOfCureForm->windowFlags()| _degreeOfCureForm->setWindowFlags(_degreeOfCureForm->windowFlags()|
Qt::Dialog); 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); setActionEnable(true);
_eventHandler = _centralWidget->getEvnetHandler(); _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() void MainWindow::on_actionStop_triggered()
{ {
QByteArray ba = DataParser::setDeviceStartStop(DeviceStartMode::Stop); QByteArray ba = DataParser::setDeviceStartStop(DeviceStartMode::Stop);
@ -241,7 +268,8 @@ void MainWindow::on_actionSpecificHeatCompMethod_triggered()
void MainWindow::on_actionDegreeOfCrystallinity_triggered() void MainWindow::on_actionDegreeOfCrystallinity_triggered()
{ {
QMessageBox::warning(this, "warnning", "结晶度."); // QMessageBox::warning(this, "warnning", "结晶度.");
_degreeOfCrystallinityForm->show();
} }
void MainWindow::on_actionInstrumentParameter_triggered() void MainWindow::on_actionInstrumentParameter_triggered()
@ -259,6 +287,7 @@ void MainWindow::on_actionFinalMeltingPoint_triggered()
void MainWindow::on_actionOITAutoAnalysisParam_triggered() void MainWindow::on_actionOITAutoAnalysisParam_triggered()
{ {
_OITAutoAnalysisParamForm->show();
} }
void MainWindow::on_actionOITAutoAnalysisMode_triggered() void MainWindow::on_actionOITAutoAnalysisMode_triggered()

View File

@ -16,6 +16,7 @@
#include "degreeofcrystallinityform.h" #include "degreeofcrystallinityform.h"
#include "instrumentcoefficientform.h" #include "instrumentcoefficientform.h"
#include "degreeofcureform.h" #include "degreeofcureform.h"
#include "oitautoanalysisparamform.h"
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; } namespace Ui { class MainWindow; }
@ -71,6 +72,7 @@ private slots:
private: private:
void connections(); void connections();
void setActionEnable(const bool); void setActionEnable(const bool);
void setSubWidgetAttribute(QWidget *);
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
CentralWidget *_centralWidget; CentralWidget *_centralWidget;
@ -85,5 +87,6 @@ private:
DegreeOfCrystallinityForm * _degreeOfCrystallinityForm; DegreeOfCrystallinityForm * _degreeOfCrystallinityForm;
InstrumentCoefficientForm* _instrumentCoefficientForm; InstrumentCoefficientForm* _instrumentCoefficientForm;
DegreeOfCureForm *_degreeOfCureForm; DegreeOfCureForm *_degreeOfCureForm;
OITAutoAnalysisParamForm* _OITAutoAnalysisParamForm;
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H

View File

@ -15,10 +15,20 @@ DegreeOfCrystallinityForm::~DegreeOfCrystallinityForm()
void DegreeOfCrystallinityForm::on_pushButtonCalculate_clicked() 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() void DegreeOfCrystallinityForm::on_pushButtonQuit_clicked()
{ {
ui->LineEditEnthalpyOfCrystallization->text().clear();
ui->LineEditEnthalpyOfColdCrystallization->text().clear();
ui->LineEditTheoreticalEnthalpy->text().clear();
ui->xcLineEditDegreedOfCrystallinity->text().clear();
hide();
} }

View File

@ -28,14 +28,14 @@
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>23</x> <x>13</x>
<y>32</y> <y>32</y>
<width>231</width> <width>261</width>
<height>31</height> <height>31</height>
</rect> </rect>
</property> </property>
<property name="text"> <property name="text">
<string>Xc = (结晶焓 - 冷结晶焓) / 理论热焓</string> <string>Xc = (结晶焓 - 冷结晶焓) / 理论热焓 X 100%</string>
</property> </property>
</widget> </widget>
</widget> </widget>
@ -129,6 +129,32 @@
</layout> </layout>
</widget> </widget>
</widget> </widget>
<widget class="QPushButton" name="pushButtonCalculate">
<property name="geometry">
<rect>
<x>120</x>
<y>350</y>
<width>80</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>计算</string>
</property>
</widget>
<widget class="QPushButton" name="pushButtonQuit">
<property name="geometry">
<rect>
<x>230</x>
<y>350</y>
<width>80</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>退出</string>
</property>
</widget>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -12,3 +12,18 @@ DegreeOfCureForm::~DegreeOfCureForm()
{ {
delete ui; 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();
}

View File

@ -15,6 +15,11 @@ public:
explicit DegreeOfCureForm(QWidget *parent = nullptr); explicit DegreeOfCureForm(QWidget *parent = nullptr);
~DegreeOfCureForm(); ~DegreeOfCureForm();
private slots:
void on_pushButtonCalculate_clicked();
void on_pushButtonQuit_clicked();
private: private:
Ui::DegreeOfCureForm *ui; Ui::DegreeOfCureForm *ui;
}; };

View File

@ -44,17 +44,17 @@
<x>70</x> <x>70</x>
<y>60</y> <y>60</y>
<width>161</width> <width>161</width>
<height>1</height> <height>2</height>
</rect> </rect>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>1</height> <height>2</height>
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string>PushButton</string> <string>-------------------------------</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
@ -127,7 +127,7 @@
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLineEdit" name="jGLineEdit"/> <widget class="QLineEdit" name="LineEditPrecure"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="jGLabel_2"> <widget class="QLabel" name="jGLabel_2">
@ -137,7 +137,7 @@
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="jGLineEdit_2"/> <widget class="QLineEdit" name="jGLineEditAfterCuring"/>
</item> </item>
</layout> </layout>
</widget> </widget>

View File

@ -22,3 +22,8 @@ void InstrumentCoefficientForm::on_pushButtonExit_clicked()
{ {
} }
void InstrumentCoefficientForm::on_pushButtonCancel_clicked()
{
hide();
}

View File

@ -20,6 +20,8 @@ private slots:
void on_pushButtonExit_clicked(); void on_pushButtonExit_clicked();
void on_pushButtonCancel_clicked();
private: private:
Ui::InstrumentCoefficientForm *ui; Ui::InstrumentCoefficientForm *ui;
}; };

View File

@ -7,12 +7,118 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>244</width> <width>244</width>
<height>356</height> <height>275</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>221</width>
<height>111</height>
</rect>
</property>
<property name="title">
<string>参数</string>
</property>
<widget class="QWidget" name="formLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>201</width>
<height>71</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="jGLabel">
<property name="text">
<string>理论熔融热焓(J/g):</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="LineEditTheory"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="jGLabel_2">
<property name="text">
<string>实测熔融热焓(J/g):</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="LineEditActualMeasurement"/>
</item>
</layout>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>10</x>
<y>140</y>
<width>221</width>
<height>81</height>
</rect>
</property>
<property name="title">
<string>计算结果</string>
</property>
<widget class="QWidget" name="formLayoutWidget_2">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>191</width>
<height>41</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="kLabel">
<property name="text">
<string>仪器系数 K:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="LineEditCoefficient"/>
</item>
</layout>
</widget>
</widget>
<widget class="QPushButton" name="pushButtonCalculate">
<property name="geometry">
<rect>
<x>50</x>
<y>240</y>
<width>80</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>计算</string>
</property>
</widget>
<widget class="QPushButton" name="pushButtonCancel">
<property name="geometry">
<rect>
<x>140</x>
<y>240</y>
<width>80</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>退出</string>
</property>
</widget>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -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();
}

View File

@ -0,0 +1,25 @@
#ifndef OITAUTOANALYSISPARAMFORM_H
#define OITAUTOANALYSISPARAMFORM_H
#include <QWidget>
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

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>OITAutoAnalysisParamForm</class>
<widget class="QWidget" name="OITAutoAnalysisParamForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>233</width>
<height>156</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<widget class="QPushButton" name="pushButtonOk">
<property name="geometry">
<rect>
<x>130</x>
<y>120</y>
<width>80</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>确定</string>
</property>
</widget>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>191</width>
<height>91</height>
</rect>
</property>
<property name="title">
<string>参数</string>
</property>
<widget class="QWidget" name="formLayoutWidget">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>171</width>
<height>61</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="Label">
<property name="text">
<string>系数:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="LineEditCoefficient"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="Label_2">
<property name="text">
<string>阈值:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="LineEditThreshold"/>
</item>
</layout>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>