头文件

导入filedialog头文件:

  1. #include "QDir"
  2. #include "QFileDialog"
  3. #include "QDateTime"

QFileDialog::getSaveFileName

QFileDialog是qt中用来获取文件路径的gui组件
image.png
为新建文件,保存文件,选择文件夹提供了对应的api,并以QString的形式返回路径
参数如下;

  • 第一个参数是父对象的指针,一般是this
  • 第二个参数是弹出的串口的名称
  • 第三个参数是默认的文件名
  • 第四个参数是默认的文件类型

后面三个参数的类似都是QString

槽函数实现

在按钮槽函数中,加入以下代码

  1. void Widget::on_saveButton_clicked() {
  2. // 获取当前数据
  3. QString data = ui->textBrowser->toPlainText();
  4. // 获取当前时间
  5. QString current_File_time = QDateTime::currentDateTime().toString("yyyy-MM-dd-hh-mm-ss-zzz");
  6. // 选择路径
  7. QString filepath = QFileDialog::getSaveFileName(this, "保存", current_File_time + ".txt", "文本文档(*.txt)");
  8. qDebug() << filepath;
  9. // 新建文件并写入
  10. QFile file(filepath);
  11. if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append)) {
  12. QTextStream out(&file);
  13. out << data;
  14. file.close();
  15. }
  16. }