Day-06-QFileDialog文件操作

news2024/9/22 3:30:28

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2111407.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

又一个新的开源AI项目!!【送源码】

好家伙&#xff0c;国内大模型发展太猛了&#xff01; 旗舰端侧模型面壁「小刚炮」系列进化为全新 MiniCPM 3.0 基座模型&#xff0c;再次以小博大&#xff0c;以 4B 参数&#xff0c;带来超越 GPT-3.5 的性能&#xff0c;强得不像端侧模型。 并且&#xff0c;量化后仅 2GB 内…

【Hadoop|HDFS篇】HDFS的读写流程

1. HDFS的写流程 1.1 剖析文件的写入 副本存储节点的选择问题&#xff1a; 第一个副本在Client所在的节点上&#xff0c;如果客户端在集群外&#xff0c;随机选一个。第二个副本在另一个机架的随机一个节点上。第三个副本在第二个副本所在的机架的随机节点上。 2. HDFS的写流…

Redis 集群:如何实现数据的高效分片与负载均衡

Redis 集群&#xff1a;如何实现数据的高效分片与负载均衡 一 . 基本概念二 . 数据分片算法2.1 哈希求余算法2.2 一致性哈希算法2.3 哈希槽分区算法核心思路Redis 集群中最多只能有 16384 个分片吗 ?为什么一定要是 16384 个槽位 ? 三 . 基于 docker 进行集群的搭建3.1 创建目…

《MaPLe: Multi-modal Prompt Learning》中文校对版

系列论文研读目录 文章目录 系列论文研读目录题目&#xff1a;《Maple&#xff1a;多模态提示学习》摘要1.简介2.相关工作视觉语言模型&#xff1a;提示学习&#xff1a;视觉语言模型中的提示学习&#xff1a; 3.方法3.1.回看CLIP编码图像&#xff1a;编码文本&#xff1a;Zero…

【vue、UI】使用 Vue2 和 Element UI 封装 CSV 文件上传组件,实现csv回显

文章目录 前言组件功能概述实现效果组件模板结构组件的核心逻辑1.数据属性定义2.方法拆解3.CSV 文件解析方法4. 错误处理方法 组件样式完整组件代码总结待优化的地方 前言 在 Vue2 项目中&#xff0c;我们经常需要封装一些可重用的组件来提升开发效率。本文将介绍如何使用 Vue…

Linux工程管理文件Makefile-入门篇

1.Makefile简介 Makefile是在Linux环境下 C/C 程序开发必须要掌握的一个工程管理文件。当你使用make命令去编译一个工程项目时&#xff0c;make工具会首先到这个项目的根目录下去寻找Makefile文件&#xff0c;然后才能根据这个文件去编译程序。那Makefile在编译过程中到底起了…

T7:咖啡豆识别

T7&#xff1a;咖啡豆识别 **一、前期工作**1.设置GPU,导入库2.导入数据3.查看数据 **二、数据预处理**1.加载数据2.可视化数据3.配置数据集 **三、构建CNN网络模型**1、手动搭建2、直接调用官方模型 **四、编译模型****五、训练模型****六、模型评估****七、预测**八、暂时总结…

Spring-容器:IOC-基于注解管理Bean

目录 一、基于注解管理Bean&#xff08;重点&#xff09;1.1、概述1.2、开启组件扫描1.2.1、指定要排除的组件1.2.2、仅扫描指定组件 1.3、使用注解定义Bean1.4、使用Autowired注入1.4.1、属性注入1.4.2、set注入1.4.3、构造方法注入1.4.4、形参注入1.4.5、无注解注入1.4.6、联…

自幂数判断c++

题目描述 样例输入 3 152 111 153样例输出 F F T 代码如下&#xff1a; #include<bits/stdc.h> using namespace std; long long m,a; int main(){cin>>m;for(int i1;i<m;i){cin>>a;long long ta,n[10],cc0,s0;while(t!0){//求位数与拆位n[cc]t%10;tt/…

报错:Reached the max session limit(DM8 达梦数据库)

报错:Reached the max session limit - - DM8 达梦数据库 1 环境介绍2 数据库启动SYSTEM IS READY后面日志3 数据库刚启动日志4 达梦数据库学习使用列表 1 环境介绍 某项目无法连接数据库,报错:超过最大会话数限制 , 检查 dmdba ulimit -a openfiles 已改检查 dm.ini 其中 MAX…

中间代码例题

答案&#xff1a;D 知识点&#xff1a; 中间代码是一种简单且含义明确的记号系统&#xff0c;可以有若干形式&#xff0c;它们的共同特征是与机器无关。 最常见的中间代码有&#xff1a;后缀式&#xff0c;语法树&#xff0c;三地址码&#xff0c;四元式 这些往往是数据&am…

迪普防火墙接口故障处理

一、防火墙故障初查 一台捷普防火墙&#xff0c;突然间业务不通&#xff0c;接口UP&#xff0c;策略正常&#xff0c;区域正常&#xff0c;互联地址就是不能ping通。 如上&#xff0c;接口状态很正常。 如上&#xff0c;互联设备ping不通。 二、锁定故障问题点 检查arp表&…

卷轴模式系统APP源码之产品分析:探索其设计精髓与市场潜力

在移动互联网的浪潮中&#xff0c;各类创新应用层出不穷&#xff0c;其中&#xff0c;“卷轴模式系统APP”作为一种融合了传统文化元素与现代交互设计的产品&#xff0c;正逐渐引起市场的关注。本文将从产品设计的角度&#xff0c;深入分析卷轴模式系统APP的源码特性、用户体验…

CVPR 2024最新论文分享┆YOLO-World:一种实时开放词汇目标检测方法

论文分享简介 本推文主要介绍了CVPR 2024上的一篇论文《YOLO-World: Real-Time Open-Vocabulary Object Detection》&#xff0c;论文的第一作者为Tianheng Cheng和Lin Song&#xff0c;该论文提出了一种开放词汇目标检测的新方法&#xff0c;名为YOLO-World。论文通过引入视觉…

思科IP访问控制列表4

#网络安全技术实现# #任务四命名访问控制列表的控制4# #1配置计算机的IP 地址、子网掩码和网关 #2配置Router-A的主机名称及其接口IP地址 Router>enable Router#conf t Router(config)#hostname Router-A Router-A(config)#int g0/1 Router-A(config-if)#ip add 192.1…

如何在算家云搭建Flux.1(AI绘画)

一、Flux.1简介 Flux.1 是黑森林实验室发布的 AI 绘图模型&#xff0c;也可以说是 SD 的原班人马打造。其表现出的效果已经超越了 SD3、DALLE3(HD)和 Midjourney v6.0&#xff0c;具有强大的出图能力&#xff0c;相比 SD3 拥有更优秀的提示词理解能力&#xff0c;更强的文字生…

内网渗透—横向移动非约束委派约束委派

前言 今天依旧是横向移动的内容&#xff0c;委派主要分为三类非约束委派、约束委派、资源委派。今天主要讲前面两个内容&#xff0c;资源委派留到最后再讲。 实验环境 Web&#xff1a;192.168.145.137&#xff0c;192.168.22.28 DC&#xff1a;192.168.22.30 非约束委派 原…

6.科学计算模块Numpy(3)对ndarray数组的常用操作

引言 众所周知&#xff0c;numpy能作为python中最受欢迎的数据处理模块&#xff0c;脱离不了它最核心的部件——ndarray数组。那么&#xff0c;我们今天就来了解一下numpy中对ndarray的常用操作。 通过阅读本篇博客你可以&#xff1a; 1.掌握ndarray数组的切片和copy 2.学会…

wx.chooseMessageFile在pc端微信小程序失效解决方法

项目场景&#xff1a; 在uniapp上驱动微信开发者工具&#xff08;下图&#xff09; 在手机上和微信开发者工具中&#xff08;图1&#xff09;都可以上传成功&#xff0c; 打开pc端的微信小程序 在pc端打开小程序时点击上传没反应 问题描述 提示&#xff1a;这里描述项目中遇到…

css实现卡片右上角的状态

1、成品展示 2、html部分 <div class"itemBox"><div class"status">{{ statusList[item.status] }}</div> </div> 3、css部分 .itemBox {position: relative;overflow: hidden; } .status {height: 25px;line-height: 25px;bac…