最近编写了将串口接收到的数据保存到txt文件中,下面就说下如何保存数据了。
这里利用QFileDialog来实现保存对话框弹出操作:
1 path = QFileDialog::getSaveFileName(this, tr("Save File"),savepath, 2 tr("TEXT (*.txt)"));
path是返回一个该对话框获得的文件路径和文件名,利用这个参数我们就可以操作存数据了:
1 QFile *savefile = new QFile(path); 2 3 savefile->open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Text); 4 savefile->write(ui->ReceiveText->toPlainText().toAscii()); 5 6 savefile->close();
在这个操作中,我们还有保存数据到指定的位置,就是我们savepath这参数了,我想让该文件默认的存到桌面,可是每个系统的桌面位置都可能不一样,那怎么获取系统的桌面位置呢,这里就要用到QDesktopServices类的storageLocation()函数了,这个函数可以获得一些系统文件夹的位置,像:文档、用户音乐、用户电影等文件夹路径。
1 savepath = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation)+"/rec.txt";