Day-06-QFileDialog文件操作

一、实现打开文件选择对话框

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();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值