2025-04-27T15:27:06
This commit is contained in:
parent
b923eddcfd
commit
d64d48f0e6
@ -145,6 +145,9 @@ void MainWindow::connections()
|
||||
connect(_centralWidget,&CentralWidget::sigRightDockWidgetHide,
|
||||
[&](){ _rightWidget->hide(); });
|
||||
|
||||
connect(_degreeOfCrystallinityForm,&DegreeOfCrystallinityForm::sigDrawCustomText,
|
||||
_centralWidget,&CentralWidget::slotDrawCustomText);
|
||||
|
||||
//SpecificHeatComparisonMethodForm
|
||||
connect(_eventHandler,&EventHandler::sigSetCurve,
|
||||
_specificHeatComparisonMethodForm,
|
||||
|
@ -360,6 +360,28 @@ void CentralWidget::slotAnalysisSettingLineXPoint(const int index, const double)
|
||||
|
||||
}
|
||||
|
||||
void CentralWidget::slotDrawCustomText(const QString str)
|
||||
{
|
||||
QCPItemText* customLegendItem = new QCPItemText(_customPlot);
|
||||
customLegendItem->position->setTypeX(QCPItemPosition::ptAbsolute);
|
||||
customLegendItem->position->setTypeY(QCPItemPosition::ptAbsolute);
|
||||
customLegendItem->position->setCoords(150, 50); // 稍微向下移动
|
||||
customLegendItem->setText(str);
|
||||
|
||||
QFont font("Arial", 10);
|
||||
customLegendItem->setFont(font);
|
||||
|
||||
// 设置边框和背景
|
||||
customLegendItem->setPen(QPen(Qt::black));
|
||||
customLegendItem->setBrush(QBrush(Qt::white));
|
||||
|
||||
// 禁止点选
|
||||
customLegendItem->setSelectable(false);
|
||||
customLegendItem->setObjectName("fixed");
|
||||
|
||||
_customPlot->replot();
|
||||
}
|
||||
|
||||
void CentralWidget::timerEvent(QTimerEvent *event)
|
||||
{
|
||||
_customPlot->replot();
|
||||
|
@ -51,6 +51,8 @@ public slots:
|
||||
void slotAnalysisSettingCancel();
|
||||
|
||||
void slotAnalysisSettingLineXPoint(const int index,const double);
|
||||
|
||||
void slotDrawCustomText(const QString);
|
||||
protected:
|
||||
void timerEvent(QTimerEvent* event);
|
||||
void contextMenuEvent(QContextMenuEvent *event);
|
||||
@ -67,6 +69,7 @@ private:
|
||||
void drawText(const QPointF,const QString);
|
||||
void fillGraph(const double x1,const double x2);
|
||||
|
||||
|
||||
enum ClearDataMode{
|
||||
All,
|
||||
Undo
|
||||
@ -75,14 +78,14 @@ private:
|
||||
private:
|
||||
AnalysisMode _analysisMode;
|
||||
LocalCustomPlot *_customPlot;
|
||||
// QCustomPlot*_customPlot;
|
||||
// QCustomPlot*_customPlot;
|
||||
QCPCurve *_currentCurve;
|
||||
// QVector<QCPCurve *> _curveVtr;
|
||||
// QCPGraph* _currentGraph;
|
||||
// QVector<QCPGraph*> _graphVtr;
|
||||
// QVector<QCPCurve *> _curveVtr;
|
||||
// QCPGraph* _currentGraph;
|
||||
// QVector<QCPGraph*> _graphVtr;
|
||||
EventHandler* _eventHandler;
|
||||
QCPItemStraightLine *_line1,*_line2;
|
||||
// QVector<Global::ExperimentData> _dataVtr;
|
||||
// QVector<Global::ExperimentData> _dataVtr;
|
||||
QVector<QCPItemStraightLine*> _lineVtr;
|
||||
};
|
||||
|
||||
|
@ -6,6 +6,7 @@ DegreeOfCrystallinityForm::DegreeOfCrystallinityForm(QWidget *parent) :
|
||||
ui(new Ui::DegreeOfCrystallinityForm)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowTitle("结晶度");
|
||||
}
|
||||
|
||||
DegreeOfCrystallinityForm::~DegreeOfCrystallinityForm()
|
||||
@ -18,9 +19,13 @@ 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;
|
||||
float Xc = (enthalpy - enthalpyCold) / enthalpyTheory * 100;
|
||||
|
||||
ui->xcLineEditDegreedOfCrystallinity->setText(QString::number(Xc,'f',3));
|
||||
QString xcStr = QString::number(Xc,'f',3);
|
||||
ui->xcLineEditDegreedOfCrystallinity->setText(xcStr);
|
||||
|
||||
QString str = QString("结晶度Xc(%)= %1%").arg(xcStr);
|
||||
emit sigDrawCustomText(str);
|
||||
}
|
||||
|
||||
void DegreeOfCrystallinityForm::on_pushButtonQuit_clicked()
|
||||
|
@ -14,7 +14,8 @@ class DegreeOfCrystallinityForm : public QWidget
|
||||
public:
|
||||
explicit DegreeOfCrystallinityForm(QWidget *parent = nullptr);
|
||||
~DegreeOfCrystallinityForm();
|
||||
|
||||
signals:
|
||||
void sigDrawCustomText(const QString);
|
||||
private slots:
|
||||
void on_pushButtonCalculate_clicked();
|
||||
|
||||
|
@ -6,6 +6,8 @@ DegreeOfCureForm::DegreeOfCureForm(QWidget *parent) :
|
||||
ui(new Ui::DegreeOfCureForm)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
setWindowTitle("固化度");
|
||||
}
|
||||
|
||||
DegreeOfCureForm::~DegreeOfCureForm()
|
||||
@ -18,7 +20,7 @@ void DegreeOfCureForm::on_pushButtonCalculate_clicked()
|
||||
float precure = ui->LineEditPrecure->text().toFloat();
|
||||
float afterCuring = ui->jGLineEditAfterCuring->text().toFloat();
|
||||
|
||||
float degree = (precure - afterCuring)/afterCuring/100;
|
||||
float degree = (precure - afterCuring)/afterCuring * 100;
|
||||
|
||||
ui->LineEditDegreeOfCure->setText(QString::number(degree,'f',3));
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ public:
|
||||
explicit DegreeOfCureForm(QWidget *parent = nullptr);
|
||||
~DegreeOfCureForm();
|
||||
|
||||
|
||||
private slots:
|
||||
void on_pushButtonCalculate_clicked();
|
||||
|
||||
|
@ -19,6 +19,11 @@ void LocalCustomPlot::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if (QCPItemText* textItem = qobject_cast<QCPItemText*>(item(i)))
|
||||
{
|
||||
#if 1
|
||||
if(textItem->objectName() == "fixed"){
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
QRectF rect = getTextBoundingRect(textItem);
|
||||
if(rect.contains(event->pos()))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user