110VCGQ/485SWJ/CGQ485V2/CGQ485/fileset.cpp
2024-11-18 10:09:39 +08:00

85 lines
2.0 KiB
C++

#include "fileset.h"
#include "ui_fileset.h"
#include <QFileDialog>
#include <QIntValidator>
#include <QFile>
#include<QMessageBox>
FileSet::FileSet(QWidget *parent) :
QDialog(parent),
ui(new Ui::FileSet)
{
ui->setupUi(this);
QIntValidator* IntValidator = new QIntValidator;
ui->Time_LEdit->setValidator(IntValidator);
ui->Time_LEdit->setPlaceholderText("请输入大于1的整数");//背景提示用户输入范围
ui->Time_LEdit->setText(QString::number(interval,10));
fileName = new QString;
file = new QFile;
}
FileSet::~FileSet()
{
delete ui;
qDebug()<<"关闭";
file->close();
}
void FileSet::Write_File(QString str)
{
if(!file->open(QIODevice::WriteOnly|QIODevice::Append | QIODevice::Text))
{
// QMessageBox::information(this,"提示","文件打开失败");
return;
}
if(file->size()== 0)
{
QString string;
string = "时间\t传感器数据\t投退状态\t电机状态\tPWM占空比\t缩放系数\t加减系数\t"
"电机运行时间\t波特率\t湿度\t温度\n";
file->write(string.toUtf8());
}
file->write(str.toUtf8());
file->close();
}
void FileSet::on_closeBtn_clicked()
{
if(ui->radioButton->isChecked())
{
isWrite =true;
interval = ui->Time_LEdit->text().toInt();
if(fileName->isEmpty())
{
QMessageBox::information(this,"提示","请选择文件");
return;
}
if(interval<1)
{
QMessageBox::information(this,"提示","间隔时间应大于1s");
return;
}
file->setFileName(*fileName);
this->close();
}
else
{
isWrite=false;
this->close();
}
}
void FileSet::on_pushButton_clicked()
{
QString curDir = QCoreApplication::applicationDirPath();
*fileName = QFileDialog::getOpenFileName(this,"选择一个txt文件",curDir,"*.txt");
ui->fileName_LEdit->setText(*fileName);
}