当前位置: 首页 > news >正文

C++之QT文本处理QDir、QFileDialog、QStringList、QFile

一、相应的头文件

#include <QFileDialog>
#include <QDir>
#include <QStringList>

二、简介

1.QFileDialog

实际效果如下:比如需要选择打开的文件夹或者文件名,通过调用资源管理器的方式进行可视化操作。

代码示例为:

    QString directory = QFileDialog::getExistingDirectory(nullptr,"选择一个文件夹","/", // 初始目录,这里使用根目录,你可以更改为其他目录QFileDialog::ShowDirsOnly| QFileDialog::DontResolveSymlinks);if(!directory.isEmpty()){QMessageBox::information(nullptr, "选择的文件夹", "你选择了:" + directory);ui->lineEdit_11->setText(directory);}else{QMessageBox::information(nullptr, "取消", "你没有选择任何文件夹。");ui->lineEdit_11->setText("");}

2.QDir

使用场景,一般为需要获取或筛选一个文件夹下的文件类型,比如我需要找到该文件夹下所有的文件夹名称,或者找到所有的非文件夹信息等。

QDir dir(directoryPath);
// 获取目录中的文件和子目录名列表
QStringList entries = dir.entryList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);// 遍历列表并打印内容
foreach (const QString &entry, entries) {QFileInfo fileInfo(dir, entry);qDebug() << "Name: " << fileInfo.fileName();  //名称qDebug() << "Path: " << fileInfo.absoluteFilePath(); //文件绝对路径qDebug() << "Is directory: " << fileInfo.isDir();  //是否为文件夹qDebug() << "Is file: " << fileInfo.isFile();   //是否为文件qDebug() << "----------";
}

获取绝对路径

QString fileName = "file.txt"; // 文件名或相对路径  
QDir dir; // 默认是当前工作目录  
QString absolutePath = dir.absoluteFilePath(fileName);  
QFile file(absolutePath);  
// ... 现在你可以使用 file 对象了 ...

3.QStringList

QStringList outerrordata;
//通过C++流数据打印的方式可以直接将其获得为队列
outerrordata<<A<<B<<C<<D<<E;
//outerrordata:[A,B,C,D,E]

4.QFile

在 Qt 框架中,QFile 类提供了与平台无关的文件 I/O 功能。它允许你以不同的模式(如只读、只写、读写等)打开文件,并提供了读写文件的各种方法。

//1.打开文件
QFile file("path/to/your/file.txt");  
if (!file.open(QIODevice::ReadWrite | QIODevice::Text)) {  // 错误处理:无法打开文件  qDebug() << "Error opening file:" << file.errorString();  
}//2-1.写入文件
QTextStream out(&file);  
out << "Hello, World!" << endl;  
// 记得在完成后关闭文件  
file.close();//2-2.读取文件
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {  QTextStream in(&file);  while (!in.atEnd()) {  QString line = in.readLine();  // 处理每一行数据  qDebug() << line;  }  file.close();  
}//示例:操作csv表格文件QFile filecsv("output.csv");//创建CSV文件
if (!filecsv.open(QIODevice::WriteOnly | QIODevice::Text)) //创建CSV文件
{QMessageBox::information(nullptr,"dui", "文件打开失败");
}
else
{QMessageBox::information(nullptr,"dui", "文件打开成功");
}QStringList outerrordata;
//通过C++流数据打印的方式可以直接将其获得为队列
outerrordata<<A<<B<<C<<D<<E;
//outerrordata:[A,B,C,D,E]QTextStream out(&filecsv);//创建流数据写入filecsv中
out << outerrordata.join(",") << "\n";

相关文章:

C++之QT文本处理QDir、QFileDialog、QStringList、QFile

一、相应的头文件 #include <QFileDialog> #include <QDir> #include <QStringList> 二、简介 1.QFileDialog 实际效果如下&#xff1a;比如需要选择打开的文件夹或者文件名&#xff0c;通过调用资源管理器的方式进行可视化操作。 代码示例为&#xff1a…...

24.5.8数据结构|单向循环链表

一、理解原理&#xff1a; 初始状态&#xff1a; 1、对比前两种的不同之处 1&#xff09;保存到栈空间&#xff08;局部变量&#xff09;。静态初始化。 2&#xff09; 二、代码实现 1、initLinkLoop函数 疑问&#xff1a; 1、地址怎么处理&#xff1f; 注意&#xff1…...

2024年,抖音小店开通需要多少钱?一篇详解!

大家好&#xff0c;我是电商糖果 2024年了&#xff0c;想在抖音开店卖货的朋友越来越多。 主要原因还是看到&#xff0c;这几年在抖音上赚到钱的人越来越多。 于是大家在今年比较关心的问题&#xff0c;就是抖音小店开通需要多少钱&#xff1f; 糖果做抖音小店四年了&#…...

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷1(私有云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…...

Python数据可视化------地图

基础地图使用 # 地图基本演示 # 导包 from pyecharts.charts import Map from pyecharts.options import TitleOpts, VisualMapOpts# 准备地图对象 cmap Map() # 准备数据&#xff08;列表&#xff09; data [("北京市", 99), ("上海市", 199), ("…...

Rust中的并发性:Sync 和 Send Traits

在并发的世界中&#xff0c;最常见的并发安全问题就是数据竞争&#xff0c;也就是两个线程同时对一个变量进行读写操作。但当你在 Safe Rust 中写出有数据竞争的代码时&#xff0c;编译器会直接拒绝编译。那么它是靠什么魔法做到的呢&#xff1f; 这就不得不谈 Send 和 Sync 这…...

|Python新手小白中级教程|第二十七章:面向对象编程(示例操作)(3)使用turtle库与类结合

文章目录 前言一、项目&#xff1a;使用类Circle画出圆形&#xff08;不调用turtle库&#xff09;1.基础指令class2.使用turtle画出大圆与小圆3.使用其他功能画一只眼睛 二、使用turtle库画正方形总结 前言 hello&#xff0c;我是BoBo仔&#xff0c;welcome来看我的文章 这节课…...

Android OpenMAX(五)高通OMX Core实现

上一节了解了OMX Core提供的内容,这一节我们看看高通OMX Core是如何实现的。本节代码参考自: omx_core_cmp.cpp registry_table_android.c qc_omx_core.h 1、OMX_Init/OMX_Deinit OMX_API OMX_ERRORTYPE OMX_APIENTRY OMX_Init() {DEBUG_PRINT(...

XXE漏洞

一、概述 1、XXE&#xff1a;XML外部实体注入攻击 2、XML&#xff1a;可扩展标记语言。 (1)没有固定标签&#xff0c;所有标签都可以自定义&#xff0c;但有限制规则。 (2)用于数据对的传输与存储&#xff0c;常被用于充当配置文件 推荐教程&#xff1a;XML 教程 (3)后缀…...

[华为OD]C卷 BFS 亲子游戏 200

题目&#xff1a; 宝宝和妈妈参加亲子游戏&#xff0c;在一个二维矩阵&#xff08;N*N&#xff09;的格子地图上&#xff0c;宝宝和妈妈抽签决定各自 的位置&#xff0c;地图上每个格子有不同的Q糖果数量&#xff0c;部分格子有障碍物。 游戏规则Q是妈妈必须在最短的时间&a…...

大模型微调实战之强化学习 贝尔曼方程及价值函数(五)

大模型微调实战之强化学习 贝尔曼方程及价值函数&#xff08;五&#xff09; 现在&#xff0c; 看一下状态-动作值函数的示意图&#xff1a; 这个图表示假设首先采取一些行动(a)。因此&#xff0c;由于动作&#xff08;a&#xff09;&#xff0c;代理可能会被环境转换到这些状…...

初探MFC程序混合使用QT

一、背景 随着操作系统国产化替代的趋势越发明显&#xff0c;软件支持国际化、跨平台&#xff0c;已然是必须做的一件事情。原有的软件UI层用的是MFC&#xff0c;将其换成QT&#xff0c;想必是一种较好的方案。对于大型软件&#xff0c;特别是已发布&#xff0c;但还处于不断迭…...

【LeetCode题库】1068. 产品销售分析 I —— MySQL 性能提升,using()关键字

文章目录 原题题解解题笔记 —— JOIN USING()关键字对性能的提升 我是一名立志把细节都说清楚的博主&#xff0c;欢迎【关注】&#x1f389; ~ 原创不易&#xff0c; 如果有帮助 &#xff0c;记得【点赞】【收藏】 哦~ ❥(^_-)~ 如有错误、疑惑&#xff0c;欢迎【评论】指正…...

leetcode 1 ~ 100

文章目录 1. 两数之和&#xff08;用哈希表减少查找的时间复杂度&#xff09;2. 两数相加&#xff08;高精度加法&#xff09;3.无重复字符的最长子串&#xff1a;&#xff08;模板&#xff1a;经典的滑动窗口算法&#xff09;5. 最长回文子串&#xff08;枚举&#xff09;6. Z…...

分享6个免费下载电子书的网站

着急看书的宝子们看这里&#xff01; 收藏了一堆电子书网站终于能派上用场了~ 01/Z-Library https://zh.zlibrary-be.se/ 世界上最大的电子图书馆&#xff0c;拥有超千万的书籍和文章资源&#xff0c;99%的书籍资料都能在这里找到。 我给的这个网址现在还能正常打开使用&…...

typescript的入门到吐槽:看了typescript,发现前端真的卷,

typescript TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集&#xff0c;而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。 TypeScript 与 JavaScript 的区别 其实就是对JavaScript的封装&#xff0c;把一个弱类型语言封…...

抖店商品详情API接口,商品上架(主图,价格,sku等属性,)item_get-获得抖店商品详情

抖店商品详情API接口&#xff0c;商品上架&#xff08;主图&#xff0c;价格&#xff0c;sku等属性&#xff0c;&#xff09;item_get-获得抖店商品详情 {"code": 0,"msg": "调用成功","time": "1715166889","data&quo…...

STM32使用ADC单/多通道检测数据

文章目录 1. STM32单片机ADC功能详解 2. AD单通道 2.1 初始化 2.2 ADC.c 2.3 ADC.h 2.4 main.c 3. AD多通道 3.1 ADC.c 3.2 ADC.h 3.3 main.c 3.4 完整工程文件 1. STM32单片机ADC功能详解 STM32单片机ADC功能详解 2. AD单通道 这个代码实现通过ADC功能采集三脚电…...

Unity 性能优化之动态批处理(四)

提示&#xff1a;仅供参考&#xff0c;有误之处&#xff0c;麻烦大佬指出&#xff0c;不胜感激&#xff01; 文章目录 前言一、动态合批是什么&#xff1f;二、使用动态批处理1.打开动态合批2.满足条件 三、检查动态合批是否成功五、动态合批弊端总结 前言 动态批处理是常用优…...

Windows 11 系统安装时如何跳过联网和逃避微软账号登录

问题描述 Windows 11 是从 22H2 版本之后开始强制联网何登录微软账号的。 这就带来两个问题&#xff1a; 1、如果我的电脑没有网络或者网卡驱动有问题&#xff0c;那就无法继续安装系统了。 2、如果我有强怕症&#xff0c;就是不想登录微软账号&#xff0c;害怕个人信息泄露…...

药物发现必备:RDKit分子指纹在虚拟筛选中的7种高级用法

药物发现必备&#xff1a;RDKit分子指纹在虚拟筛选中的7种高级用法 在当今药物研发领域&#xff0c;虚拟筛选已成为加速药物发现流程的关键技术。面对海量化合物库&#xff0c;如何高效准确地识别潜在活性分子&#xff1f;RDKit分子指纹技术提供了强有力的解决方案。不同于基础…...

2023最新版Prometheus+Grafana监控系统搭建指南(含Docker-compose部署)

2023云原生监控实战&#xff1a;基于Docker-compose的PrometheusGrafana全栈部署指南 在云原生技术席卷各行各业的今天&#xff0c;监控系统已成为保障业务稳定性的神经中枢。传统监控方案在面对容器化、微服务架构时往往力不从心&#xff0c;而Prometheus作为CNCF毕业项目&…...

MedGemma X-Ray 场景应用:基层医生的AI辅助阅片实战指南

MedGemma X-Ray 场景应用&#xff1a;基层医生的AI辅助阅片实战指南 1. 基层医疗的痛点与AI解决方案 在基层医疗机构&#xff0c;放射科医生常常面临两大挑战&#xff1a;一是阅片经验相对不足&#xff0c;二是工作负荷过重。一张胸部X光片可能包含数十个需要观察的关键点&am…...

降AIGC哪家强?2026零成本保姆级教程:DeepSeek/Kimi/豆包专属降重指令实测与差异解析

很多时候大学生写论文逻辑太严谨、话术太规范&#xff0c;反而会导致AI率过高&#xff0c;且一旦AI率过高&#xff0c;轻则退回重改&#xff0c;重则取消答辩资格&#xff0c;这后果谁都担不起。 为了帮大家有效降低aigc率&#xff0c;这周我专门针对目前市面上最主流的三款大…...

TIG电弧熔池一体化与MIG电弧熔滴蒸汽一体化

TIG电弧熔池一体化MIG电弧熔滴蒸汽一体化最近在搞焊接数值模拟的朋友估计都被TIG和MIG的热力耦合模型折腾过。这俩工艺看着都是电弧焊&#xff0c;实际在建模时完全不是一个次元的难度。今天咱们就扒一扒TIG熔池和MIG熔滴这对冤家的建模套路。先说TIG电弧熔池一体化建模。核心难…...

Pixel Fashion Atelier企业应用:支持Webhook回调的自动化素材生成流水线搭建

Pixel Fashion Atelier企业应用&#xff1a;支持Webhook回调的自动化素材生成流水线搭建 1. 项目背景与价值 Pixel Fashion Atelier是一款基于Stable Diffusion与Anything-v5的图像生成工作站&#xff0c;专为企业级素材生产需求设计。传统AI工具往往面临两大挑战&#xff1a…...

HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办?

HybridCLR Generate All报错终极解决指南&#xff1a;UnityLinker.exe找不到HotUpdate.dll怎么办&#xff1f; 当你正在使用HybridCLR进行Unity热更新开发时&#xff0c;突然遇到Generate All报错&#xff0c;提示UnityLinker.exe无法解析HotUpdate.dll&#xff0c;这确实会让人…...

OpenClaw跨平台部署:nanobot镜像在mac/Windows双系统实测

OpenClaw跨平台部署&#xff1a;nanobot镜像在mac/Windows双系统实测 1. 为什么选择nanobot镜像 第一次听说nanobot这个轻量级OpenClaw镜像时&#xff0c;我正被本地部署大模型的资源消耗问题困扰。作为一个经常在macOS和Windows双系统切换的开发者&#xff0c;我需要一个能在…...

扩散模型实现:从环境搭建到图像生成的全流程指南

扩散模型实现&#xff1a;从环境搭建到图像生成的全流程指南 【免费下载链接】Diffusion-Models-pytorch Pytorch implementation of Diffusion Models (https://arxiv.org/pdf/2006.11239.pdf) 项目地址: https://gitcode.com/gh_mirrors/di/Diffusion-Models-pytorch …...

解锁AMD锐龙隐藏性能:SMUDebugTool深度调校实战指南

解锁AMD锐龙隐藏性能&#xff1a;SMUDebugTool深度调校实战指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitc…...