2025-03-17T21:16:16
This commit is contained in:
parent
1e41597024
commit
98a2bb40d7
@ -1,23 +1,12 @@
|
||||
#include <QFile>
|
||||
#include <QDebug>
|
||||
#include <QDateTime>
|
||||
|
||||
#include "filemanager.h"
|
||||
|
||||
|
||||
|
||||
void FileManager::writeExperimentFile(const CommonData &cd, QFile &file)
|
||||
void FileManager::writeExperimentFile(const CommonData &cd)
|
||||
{
|
||||
// double sampleTemp = cd.sample_temp;
|
||||
// double dsc = cd.dsc;
|
||||
|
||||
// write data to file
|
||||
// QFile file("experiment_data.txt");
|
||||
// if (!file.open(QIODevice::Append | QIODevice::Text)) {
|
||||
// qDebug() << "无法打开文件";
|
||||
// return;
|
||||
// }
|
||||
|
||||
QTextStream out(&file);
|
||||
QTextStream out(&_expeFile);
|
||||
out.setRealNumberPrecision(3); // 设置精度为三位小数
|
||||
out.setFieldWidth(12); // 设置字段宽度,确保对齐
|
||||
out.setPadChar(' '); // 设置填充字符为空格
|
||||
@ -27,17 +16,28 @@ void FileManager::writeExperimentFile(const CommonData &cd, QFile &file)
|
||||
<< cd.dsc << endl;
|
||||
|
||||
// 关闭文件
|
||||
file.close();
|
||||
_expeFile.close();
|
||||
|
||||
}
|
||||
|
||||
void FileManager::createExperimentFile(const QString &fileName, QFile &file)
|
||||
void FileManager::createExperimentFile()
|
||||
{
|
||||
// 使用传入的文件名创建QFile对象
|
||||
file.setFileName(fileName);
|
||||
QString fileName = _expeInfo.sampleName;
|
||||
if(fileName.isEmpty()){
|
||||
fileName = "sampleName";
|
||||
}
|
||||
|
||||
fileName.append("-");
|
||||
if(_expeInfo.date.isEmpty()){
|
||||
fileName.append(QDateTime::currentDateTime().toUTC().toString("yyyyMMdd_HHmmss"));
|
||||
}else{
|
||||
fileName.append(_expeInfo.date);
|
||||
}
|
||||
|
||||
_expeFile.setFileName(fileName);
|
||||
|
||||
// 尝试以写入文本模式打开文件,如果文件不存在则创建它
|
||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) {
|
||||
if (!_expeFile.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) {
|
||||
qDebug() << "无法打开文件";
|
||||
} else {
|
||||
qDebug() << "文件打开成功";
|
||||
@ -49,7 +49,5 @@ void FileManager::test()
|
||||
QString fileName = "experiment.txt";
|
||||
|
||||
QFile file;
|
||||
createExperimentFile(fileName,file);
|
||||
|
||||
|
||||
}
|
||||
|
@ -7,8 +7,18 @@
|
||||
#include "protocol.h"
|
||||
|
||||
namespace FileManager{
|
||||
void createExperimentFile(const QString&,QFile &);
|
||||
void writeExperimentFile(const CommonData&, QFile &);
|
||||
struct ExpeInfo
|
||||
{
|
||||
QString sampleName;
|
||||
float sampleWeight;
|
||||
QString date;
|
||||
QString userName;
|
||||
};
|
||||
ExpeInfo _expeInfo;
|
||||
QFile _expeFile;
|
||||
|
||||
void createExperimentFile(const QString&);
|
||||
void writeExperimentFile(const CommonData&);
|
||||
|
||||
void test();
|
||||
};
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define GLOBAL_H
|
||||
|
||||
#include <qobject.h>
|
||||
#include <qfile.h>
|
||||
|
||||
class Global:public QObject
|
||||
{
|
||||
@ -14,8 +15,7 @@ public:
|
||||
Analysis,
|
||||
ConnectedToDev,
|
||||
DeliveredData,
|
||||
ExperimentStart,
|
||||
// ExperimentStop = Analysis
|
||||
ExperimentStart
|
||||
};
|
||||
|
||||
void setMode(const Mode);
|
||||
@ -31,6 +31,7 @@ public:
|
||||
DeviceConnectionStatus getDeviceConnectionStatus(){return _deviceConnectStatus;}
|
||||
#endif
|
||||
|
||||
|
||||
signals:
|
||||
void sigModeModify(const Mode);
|
||||
void sigDeviceConnnectionStatusModify(const DeviceConnectionStatus);
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include "global.h"
|
||||
#include "serialport.h"
|
||||
#include "dataparser.h"
|
||||
#include "filemanager.h"
|
||||
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
@ -95,6 +96,8 @@ void MainWindow::on_actionStart_triggered()
|
||||
qDebug() << "on_actionStart_triggered info (hex):" << hexData;
|
||||
|
||||
SerialPort::instance()->slotSendData(ba);
|
||||
//
|
||||
FileManager::createExperimentFile();
|
||||
}
|
||||
|
||||
void MainWindow::on_actionReadOnly_triggered()
|
||||
|
@ -2,6 +2,7 @@
|
||||
#include <QRandomGenerator>
|
||||
|
||||
#include "centralwidget.h"
|
||||
#include "filemanager.h"
|
||||
|
||||
CentralWidget::CentralWidget(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
@ -58,6 +59,8 @@ void CentralWidget::slotRevCommonData(const CommonData &cd)
|
||||
qDebug()<<"slotRevCommonData";
|
||||
_customPlot->graph(0)->addData(cd.sample_temp, cd.dsc); // 添加数据到曲线
|
||||
_customPlot->replot();
|
||||
//
|
||||
FileManager::writeExperimentFile(cd);
|
||||
}
|
||||
|
||||
void CentralWidget::timerEvent(QTimerEvent *event)
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "dataparser.h"
|
||||
#include "serialport.h"
|
||||
#include "global.h"
|
||||
#include "filemanager.h"
|
||||
|
||||
ExperimentSettingForm::ExperimentSettingForm(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
@ -21,8 +22,8 @@ ExperimentSettingForm::ExperimentSettingForm(QWidget *parent) :
|
||||
connect(ui->checkBox_phase_4,&QCheckBox::clicked,
|
||||
this,&ExperimentSettingForm::slotPhase4StateChanged);
|
||||
|
||||
// connect(ui->pushButton_connect_to_device,&QPushButton::clicked,
|
||||
// this,&ExperimentSettingForm::slotConnectToDevice);
|
||||
// connect(ui->pushButton_connect_to_device,&QPushButton::clicked,
|
||||
// this,&ExperimentSettingForm::slotConnectToDevice);
|
||||
connect(ui->pushButton_cancel,&QPushButton::clicked,
|
||||
this,&ExperimentSettingForm::slotCancel);
|
||||
}
|
||||
@ -168,7 +169,7 @@ void ExperimentSettingForm::slotConnectToDevice()
|
||||
qDebug()<<"ba size:"<<ba.size();
|
||||
emit sigDeliverData(ba);
|
||||
|
||||
// Global::instance()->setMode(Global::Mode::ConnectedToDev);
|
||||
// Global::instance()->setMode(Global::Mode::ConnectedToDev);
|
||||
|
||||
#if 0
|
||||
QByteArray startBa = DataParser::setDeviceStartStop(DeviceStartMode::Start);
|
||||
@ -226,4 +227,9 @@ void ExperimentSettingForm::slotPhaseCheck()
|
||||
void ExperimentSettingForm::on_pushButton_deliverData_clicked()
|
||||
{
|
||||
slotConnectToDevice();
|
||||
|
||||
FileManager::_expeInfo.sampleName= ui->sampleNameLineEdit->text();
|
||||
FileManager::_expeInfo.sampleWeight = ui->sampleWeightLineEdit->text().toInt(nullptr,16);
|
||||
FileManager::_expeInfo.date = ui->dateTimeLineEdit->text();
|
||||
FileManager::_expeInfo.userName = ui->userLineEdit->text();
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ public:
|
||||
explicit ExperimentSettingForm(QWidget *parent = nullptr);
|
||||
~ExperimentSettingForm();
|
||||
|
||||
|
||||
signals:
|
||||
void sigDeliverData(const QByteArray&);
|
||||
private slots:
|
||||
|
Loading…
Reference in New Issue
Block a user