qt listView识别U盘过滤文件

嵌入式Linux与Qt在汽车智能座舱开发中的实战应用 嵌入式系统开发是构建高性能、高可靠性专用设备的核心技术,其原理在于将操作系统与应用程序深度集成到硬件中,以实现对资源的精细控制。这项技术的核心价值在于能够针对特定应用场景(如实时性、低功耗、高稳定性)进行深度优化。在众多应用领域中,汽车智能座舱对图形交互、系统响应和功耗控制提出了严苛要求,这恰好是嵌入式Linux与Qt框架组合能够发挥优势的典型场景。嵌入式Linux提供了稳定、可裁剪的操作系统基础,而Qt框架,特别是其Qt Quick(QML)技术,则为开发富图形用户界面(GUI)和流畅的交互体验提供了强大 阅读详情

到目前,所分享的程序还是以功能为主,还没有点动成线的境界,更没有线动成面了~

心得:昨天晚上又温习了互斥量(锁),又看了一遍临界区、不变量和谓词,结合三个程序员舀水的故事,那个水桶就是互斥量,而舀水的动作则是临界区。

之前分享过使用qt QStorageInfo 类可以识别U盘,使用QListView可以显示文件,今天把这两个功能结合起来,并添加一个过滤文件的功能——识别U盘中特定后缀的文件。

环境: ubuntu  + qt

主要对以下代码做说明:

void Widget::on_pbn_refresh_clicked()
{
    QString UDiskPath = "";
    m_uDiskpath.clear();

    foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes())
    {
        if (storage.isValid() && storage.isReady())
        {
            UDiskPath = storage.rootPath();

            if(UDiskPath.contains("media"))             //  是个U盘
            {
                m_uDiskpath = UDiskPath;
                QStringList filters;
                filters << "*.dh";

                m_fileModel.setNameFilterDisables(false);  //默认是失能
                m_fileModel.setNameFilters(filters);     //设置显示的文件后缀
                m_fileModel.setFilter(QDir::Files);      //设置过滤属性,只显示文件
                m_fileModel.setRootPath(UDiskPath);   //设置文件所在路径

                ui->listView->setModel(&m_fileModel);
                ui->listView->setViewMode(QListView::IconMode);
                ui->listView->setRootIndex(m_fileModel.index(UDiskPath));
            }
        }
    }

    if(m_uDiskpath.isEmpty())
    {
        QMessageBox::critical(this, tr("Message"),
        tr("U disk not find !"),
        QMessageBox::Cancel|QMessageBox::Ok);
    }
}

对程序的说明:遍历存储设备信息,如果发现路径信息中含有media,则认定它是个U盘。好了,目前已经确定U盘的路径了,接下来我想知道这个路径下某些特定文件的后缀,比如以 .dh(大贺)结尾的,那怎么办呢?

之后百度到了QDir有过滤文件的功能,但是我想用QListView显示,那QListView有没有这个功能呢?试下一下,发现有,太好了。。嘟嘟嘟。。

m_fileModel.setNameFilterDisables(false);  //默认是失能
m_fileModel.setNameFilters(filters);     //设置显示的文件后缀
m_fileModel.setFilter(QDir::Files);      //设置过滤属性,只显示文件
m_fileModel.setRootPath(UDiskPath);   //设置文件所在路径

注意第一个属性,默认是失能的,坑爹。。。

                                                    

有好多知识要学习,学习使我快乐!

欢迎大家关注这个不正经的bug分享公众号~~~和众多小白一起成长~~~

 

对了,给大家看下运行结果图,证明我没有骗大家~

                                         呀,识别到了.dh后缀的文件了呀

                                                                      U 盘中的文件

 

 

 

基于IMX6ULL的智能车载系统:从选型到量产的全流程实战解析 嵌入式系统开发是连接硬件与软件,实现特定功能的关键技术领域。其核心原理在于通过微处理器或微控制器,运行定制化的操作系统和应用软件,以完成实时控制、数据处理或人机交互等任务。在物联网和智能化浪潮下,嵌入式系统的技术价值日益凸显,它能够将计算能力嵌入到各类物理设备中,实现设备的智能化和网络化。其应用场景极为广泛,从消费电子到工业自动化,再到**智能网联终端**,无处不在。特别是在汽车电子领域,对系统的实时性、可靠性和低功耗提出了严苛要求。本文聚焦于如何利用NXP的IMX6ULL处理器,构建一个稳定可靠的**车载 阅读详情

相关推荐

基于reComputer R1000与FIN Graphics Builder的工业级高性能图形应用开发实战

在嵌入式系统和工业自动化领域,实现高性能图形界面是提升人机交互体验的关键。其核心原理在于利用GPU的并行计算能力进行硬件加速渲染,通过图形API(如OpenGL ES、Vulkan)将复杂的2D/3D图形计算任务从CPU卸载,从而显著提升渲染效率和流畅度。这项技术的核心价值在于,它使得在算力与功耗受限的边缘设备上,也能实现媲美桌面级的视觉表现,满足了工业HMI、数字孪生、医疗影像等场景对实时性、高可靠性与惊艳视觉效果的复合需求。本文聚焦于如何将NVIDIA Jetson平台的强大算力与专业的嵌入式图形开发框

weixin_30603633的博客 353

qt_隐匿备份U盘文件

环境说明 windows+qt5.7.0MinGw 整体软件的说明 对u盘文件的过滤性打包 1.用qt信号槽的机制监视可移动的插入和拔出,一旦有插入,立即进行备份 2.压缩采用quazip的压缩方式 3.对文件的备份包含了对文件的过滤 4.抛出ini配置文件,用户可以根据需要进行软件的配置 运行的事例 这是在软件打包的时候允许弹出命令窗口的效果,仅演示用,真时的不存在任何窗口 默认的存储的位...

zylg 412

GTK4 文件管理器

本文基于GTK4 GIO框架,实现了一个功能完整的文件管理器,涵盖目录浏览、路径导航、文件操作、实时监控与拖放支持。通过GFile异步枚举、GListStore模型驱动列表、GFileMonitor防抖刷新,结合双栈历史管理与右键菜单,构建了高效响应的UI交互。代码约860行,结构清晰,可作为GTK4文件类应用的参考骨架。

OneSea 81

在windows的qt中如何判断出是u盘

【代码】在windows的qt中如何判断出是u盘。

weixin_43972388的博客 513

Qt结合Windows API实现U盘弹出及磁盘格式化

本文还有配套的精品资源,点击获取 简介:本文深入探讨了如何使用Qt结合Windows API实现对U盘的检测与弹出,以及本地磁盘的格式化功能。首先利用Qt的 QSystemTrayIcon 和 QStorageInfo 类来监听和获取磁盘信息,然后通过Windows API进行磁盘操作的调用。包括使用 SetupDiGetClassDev...

weixin_30978239的博客 1222

QT检测U盘(盘符、产品ID、厂商ID、设备序列号、制造商等)

在一些情况下,需要检测U盘的信息,尤其是U盘的序列号,这个网上的资源很少。本程序综合了网上的资源,将USB设备封装成一个类,类中包含U盘的盘符、产品ID、厂商ID、设备信号、设备型号、设备版本、设备序列号、设备制造商。 程序在Qt下运行,没有做界面,信息在控制台通过debug打印。支持热插拔,同时用Map记录当前可用的U盘设备,插入是添加一个,拔出时减少一个。

Qt 在linux 平台下检测 是否插入U盘,拷贝文件,显示盘符(用的是Linux底层函数 可以移植到非qt的项目)

最近项目需要 做一个在qt平台下的 1)检测是否插入U盘 2)扫描本地硬盘的文件并,拷贝文件到U盘 3)并能容错处理例如 可以判断U盘容量,拷贝过程中U盘拔出,提示容错 ...

5266的博客 2521

90+个各种疾病相关医疗数据集

含新冠、传染病、医学图像等

2万+

实现Windows下Qt扫描U盘的两种方式

参考网上资源,总结了如下实现Qt扫描U盘的两种方式:。 方式1: 检测Windows的事件–WM_DEVICECHANGE 缺点:想要检测时,必须发生过一次U盘插拔动作,需要手动“触发”才能成功扫描到U盘。 -------udiskDetect.h 代码如下: #include <QFile> #include <QDir> #include <QAbstractNativeEventFilter> class udiskDetect:public QObject,

baidu_37359582的博客 1675

[uboot] (第四章)uboot流程——uboot编译流程

uboot编译流程简单介绍

ooonebook的博客 1万+

5分钟搞定Google Custom Search API申请:从注册到获取CX Key全流程

本文详细介绍了如何快速申请和配置Google Custom Search API,从Google Cloud项目创建、启用计费、获取API Key,到在Programmable Search Engine控制台创建自定义搜索引擎并获取关键的CX Key,提供了全流程实战指南。文章还包含安全配置建议、API调用测试方法及前端与后端的集成代码示例,帮助开发者高效实现网站或应用的智能搜索功能。

weixin_29227585的博客 1670

查找是否插入了U盘(u盘先插入再启动程序检测的方法)

如果是其他语言的话,应该可以获取到盘符,获得之后,可以直接调用GetDriveType()就可以了,但是需要将类型转化为16-bit UNICODE character。最关键的就是windows API函数GetDriveType()。查找是否插入了U盘(u盘先插入再启动程序检测的方法)

learning attitude 790

Computer Networks 和 Computer & Security投稿经验

论文投稿

qq_50604294的博客 9234

财报电话会议中的AI生产力信号:从文本抽取到分析的全流程方法

自然语言处理技术在产业研究中的应用日益深入,通过从公开文本中抽取结构化信息,能够揭示企业战略表述背后的真实信号。财报电话会议作为企业对外沟通的核心场景,管理层对AI的提及方式、与效率和成本的关联程度,直接反映了技术落地的成熟度。基于关键词共现与语义分类的方法,可以从海量会议记录中筛选出“AI+生产力”的高价值语句,并构建可对比的量化指标。这一分析流程适用于行业趋势追踪、竞品观察与内部ROI评估,帮助研究者和工程团队从非结构化数据中提炼可验证的商业洞察。本文以公开财报文本为对象,提供一套完整的技术路径,并讨论

weixin_34203832的博客 354

【Burp入门第三十七篇】AutoRepeater插件安装使用教程+越权实战案例

AutoRepeater 通过接收满足特定条件的请求,按照预设的基础替换规则对请求进行处理。在接收到匹配请求后,它首先应用基础替换,然后针对每个定义的替换创建请求副本并应用该替换操作,从而实现对不同参数的修改和请求的重复发送,以此来全面检测 Web 应用的授权情况。1、自动化请求重复:能自动复制、修改并重发 HTTP 请求,避免了手动重复操作的繁琐,大大提高了 Web 应用授权测试的效率。2、灵活参数替换:可灵活改变邮箱地址、账号身份、角色、URL 和 CSRF 令牌等关键参数。

等风来 2036

8.30华为OD机试真题 新系统 - 单词搜索计数 (Java/Py/C/C++/Js/Go)

8.30华为OD机试真题 新系统 - 单词搜索计数 (Java/Py/C/C++/Js/Go)

算法大师! 601

Process Explorer深度解析:Windows进程诊断的终极工具

Process Explorer 是 Windows 系统底层进程分析的核心工具,其本质是基于 NT Native API 构建的实时对象关系浏览器,突破了传统任务管理器的抽象封装限制。它通过直连内核数据结构(如 EPROCESS、OBJECT_HEADER),实现对进程、句柄、DLL、线程堆栈及网络连接的穿透式可视化。这种能力支撑起安全分析、性能调优、故障排查等关键工程价值,在恶意软件行为追踪、顽固文件解锁、服务启动失败诊断等高频场景中不可替代。尤其在 64 位系统环境下,procexp64.exe 的架

weixin_34160277的博客 490

UDS诊断服务基础详解之二19服务

本文主要介绍UDS统一诊断服务的19 01服务,包含状态位和故障码的解析以及19 01服务的具体说明

车载网络小D的博客 1万+

windows下 Qt检测U盘(二)

在windows下,利用qt检测U盘相对方便点。通过检测Widget::winEvent(MSG *msg, long *result),当pc上有U盘插拔时,会自动触发这个函数。通过检测此消息是否是WM_DEVICECHANGE就可以了!遗憾的是这么简单的方法只能用在windows下。 参考蔡贵超的博客:http://insharecgc.sinaapp.com/?p=157 源码如下:ht...

分享技术干货和灵感 537

STM32开发 -- 4G模块开发详解(1)

这部分一直再看,资料都已经整理好了,但是一直没有汇总。接下来就详细的看一下,GSM这部分是怎么实现的。

不积跬步,无以至千里 5万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

qt读取U盘文件

程序平台: ubuntu 、 Qt5.5.1 之前想做的一个功能是读取U盘中的文件到系统磁盘目录下,今天抽空把简版功能实现了。那会儿一直搜索的Qt如何识别U盘,最终得到的结果是Qt检测U盘插拔,发现并不是我想要的。 在开始前先看下Qt帮助文档的QStorageInfo类。 提供有关当前安装的存储和驱动器的信息 允许检索有关卷的空间,挂载点,标签和文件系统名称等信息...

Pou光明的博客 8095

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

在Linux和Windows系统下使用Qt监测U盘的插拔事件

本文介绍了在Linux和Windows系统下使用Qt监测U盘插拔事件的两种方法。方法一通过执行lsblk命令获取U盘路径信息,适用于Linux系统;方法二使用Qt的QStorageInfo类,可跨平台获取存储设备信息,包括U盘名称、路径、文件系统类型及容量等。两种方法均提供了完整的代码示例,其中QStorageInfo方法还能区分USB设备类型,适用于更复杂的应用场景。这些方案为开发跨平台U盘监控功能提供了实用参考。

宁静致远的博客 1055

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Arm平台 Qt检测U盘插拔(三)-----蛋疼的recv()阻塞

因为最终要在tiny210上实现此功能,最终选择了hotplug。 http://hi.baidu.com/hdy5200075/item/7751f48647f3d12a100ef3f6这里是hotplug检测U盘的源码,我在qt里将其写到一个hostplug.h文件里。 #ifndef HOSTPLUG_H #define HOSTPLUG_H #include &lt;iost...

分享技术干货和灵感 926

QT U盘动态检测

QT U盘动态检测

smartvxworks的博客 432

QT Andriod U盘检测

QT Andriod U盘检测 在Qt Andriod开发中碰到到需要对U盘进行读写操作的问题,网上搜了很多技术文档,都没有解决,后面通过设备在插入U盘时自动挂载想到了一个方法。 因为andriod设备在检测到U盘插入时,会自动挂载到【**/storage/usbhost1/**】文件夹。只要在需要检测U盘时,检测是否可以往该文件写入文件即可。 以下是我写的代码: 先设定测试文件名称。 #define UDISK_TEST_FILEPATH "/sto

qq_36349156的博客 809

android U盘检测及获取内存信息

在网上查了一些资料。U盘检测的方法一般有两种方式,检测电池或者查看配置信息。 1.Batterymanager检测方法如下: IntentFilter mIntentFilter = new IntentFilter(); mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(BtStatusR

abc137508277的专栏 4386
上一篇: ASCII对照表
下一篇: python Usb转串口环境安装及例子
Pou光明
博客等级 码龄12年 3701粉丝 398原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值