一、实现打开文件选择对话框
1、程序演示
2、相关代码
void Widget::on_QFileDialog_clicked()
{
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
"D:/QT project/", /*注意修改自己的文件打开地址*/
tr("Text (*.txt *.doc)"));
qDebug()<<fileName; //打印打开的文件名
}
二、选择多个文件
1、程序演示
2、相关代码
void Widget::on_openstep_clicked()
{
// 创建一个QFileDialog对象
QFileDialog qFileDialog;
// 设置对话框模式为选择现有文件,可以多选
qFileDialog.setFileMode(QFileDialog::ExistingFiles);
// 设置文件筛选器,只显示.txt文件
qFileDialog.setNameFilter("Text Files (*.txt)");
// 显示文件对话框,并等待用户操作(选择文件或关闭对话框)
qFileDialog.exec();
// 获取用户选择的所有文件路径
QStringList qstrings = qFileDialog.selectedFiles();
// 遍历选中的文件列表
for (QString str : qstrings) {
// 输出每个文件的路径到调试控制台
qDebug() << str;
}
}
三、保存文件
1、程序演示
2、相关代码
void Widget::on_savefile_clicked()
{
// 使用QFileDialog获取保存文件的名称和路径
QString fileName = QFileDialog::getSaveFileName(
this, // 父窗口
tr("Save File"), // 对话框标题
"D:/QT/untitled.txt", // 默认文件路径
tr("Text (*.txt *.doc)") // 文件类型过滤器
);
// 打印选定的文件名到调试控制台
qDebug() << fileName;
// 创建一个QFile对象
QFile file;
// 设置文件名
file.setFileName(fileName);
// 尝试以写入文本模式打开文件
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
// 如果打开失败,输出错误信息
qDebug() << "file open error";
} else {
// 创建一个QTextStream对象用于写入文件
QTextStream out(&file);
// 设置编码为UTF-8
out.setCodec("UTF-8");
// 写入数据到文件
out << "Qdialog Write Data to the Txt File";
// 关闭文件
file.close();
}
}