Qt打开指定目录并选中指定文件

2023-11-06


  有时自动生成文件之后,点击某个按钮我们希望能够自动跳转到文件所在目录(打开之后不依附于运行程序),可能还需要选中该文件。
环境:win10 + Qt5.9.6 MinGW

方法一、使用Qt自带的方法

  使用QDesktopServices::openUrl(const QUrl &url)静态函数,可以跳到指定的目录,但是目前还没找到选中文件的方法。

void MainWindow::on_createFileBtn_clicked()
{
    QFile file;
    file.setFileName(QApplication::applicationDirPath() + "/" +
                     QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss") +
                     ".txt");
    if (!file.open(QIODevice::WriteOnly)) {
        qDebug() << "Create file failed!";
        return;
    }
    ui->filePathLE->setText(file.fileName());
}

void MainWindow::on_openFolderBtn_clicked()
{
    if (ui->filePathLE->text().isEmpty())
        return;

    QString str = ui->filePathLE->text();
    str.remove(str.split("/").last());
    QDesktopServices::openUrl(QUrl(str ));
}

效果图:
在这里插入图片描述

方法二、使用windows自带工具

  QProcess配合explorer可以自动跳转到指定目录并且选中该文件。** 需要注意的是,只能识别 路径只能识别 ''符号,因此需要替换一下**

void MainWindow::on_openFolderBtn_clicked()
{
    if (ui->filePathLE->text().isEmpty())
        return;

    QProcess process;
    QString filePath = ui->filePathLE->text();
    filePath.replace("/", "\\"); // 只能识别 "\"
    QString cmd = QString("explorer.exe /select,\"%1\"").arg(filePath);
    qDebug() << cmd;
    process.startDetached(cmd);
}

效果图:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt打开指定目录并选中指定文件 的相关文章

随机推荐

  • MySQL数据库基本操作-正则表达式

    文章目录 一 基本介绍 二 的用法 三 的用法 四 的用法 五 和 的用法 六 和 的用法 七 的用法 八 的用法 九 的用法 一 基本介绍 正则表达式 regularexpression 描述了一种字符串匹配的规则 正则表达式本身就是一个
  • SpringMVC-整合SSM框架(狂神学习笔记)2021-10-03

    SpringMVC 狂神 整合SSM框架 1 整合SSM 1 环境要求 环境 IDEA Eclipse MySQL 5 7 Tomcat 9 Maven 3 6 要求 需要熟练掌握MySQL数据库 Spring JavaWeb及MyBati
  • day01(Flume)

    简介 一 概述 Flume是Apache提供的一套用于进行日志收集 汇聚和传输的框架 2 Flume的版本 Flume ng 和Flume og 不兼容 a Flume1 x Flume ng b Flume0 X Flume og htt
  • [leetcode 双周赛 6] 1152 用户网站访问行为分析

    目录 1152 Analyze User Website Visit Pattern 用户网站访问行为分析 描述 思路 代码实现 1152 Analyze User Website Visit Pattern 用户网站访问行为分析 描述 为
  • 依赖注入_生命周期

    目录 一 生命周期 二 三种不同生命周期对象比较 1 AddTransient 瞬时生命周期 2 AddSingleton 单例 3 AddScoped 总结 三者的区别 一 生命周期 1 给类构造函数中打印 看看不同生命周期的对象创建使用
  • 前端高频面试题

    我们在找工作时 需要结合自己的现状 针对意向企业做好充分准备 什么是前端开发 前端开发的作用是什么 前端开发是指利用HTML CSS和JavaScript等技术 开发用户在浏览器中直接与之交互的网页或应用的过程 前端开发的作用是将后端提供的
  • 动态规划,计算股票最大收益

    问题描述 给定一个整数数组prices 它的第i个元素prices i 是一支给定的股票在第i天的价格 设计一个算法来计算你所能获取的最大利润 算法思路 动态规划 C 源码 class Solution public 1 最多交易一次 in
  • 详细!PyCharm连接MySQL数据库教程+心得

    一家懂得用细节留住客户的3年潮牌老店我必须支持 luyao1931 第一步 安装MySQL 下载地址 https dev mysql com downloads mysql 下载完后 我们将 zip 包解压到相应的目录 这里我将解压后的文件
  • 二叉树问题

    什么是二叉树 平衡二叉树 红黑二叉树 有哪些区别和应用 二叉树 Binary Tree 是结点的有限集合 这个集合或者为空 或者是由一个根结点和两颗互不相交的分别称为左子树和右子树的二叉树组成 二叉树中的每个结点至多有两棵子树 且子树有左右
  • 堆(Heap)——(一)优先队列

    堆可以利用数组 链表或者搜索二叉树实现 但是最好方法是利用完全二叉树 1 完全二叉树 完全二叉树从根结点到倒数第二层满足完美二叉树 最后一层可以不完全填充 其叶子结点都靠左对齐 如下图 重新构建一种树 专注于插入和删除最大或最小 即 根节点
  • Zabbix的问题日志清单查看

    Zabbix的问题日志清单查看 一 检查Zabbix状态 二 检查仪表表盘告警情况 三 检查所有邮件告警日志 四 触发器日志查看 五 当前告警查询 六 问题清单查询 一 检查Zabbix状态 二 检查仪表表盘告警情况 三 检查所有邮件告警日
  • docker的服务编排

    docker 服务编排 docker compose命令 docker compose 网络管理 想学习更全面的docker知识可以点击右侧 Docker的概念及基本指令学习 全 docker 服务编排 docker 服务编排也叫docke
  • Either all Options must start with + or -, or no

    Directory Options If you had Directory options note that they all have to be prepended with a or or none of them at all
  • Linux中influx数据库进程杀不掉,父进程为1

    influx数据库一直杀不掉 父进程为1是个僵尸进程 后来我才发现 influx是运行运行状态 我只需要使用命令 停掉influx即可停止改进程
  • iwebsec靶场 SQL注入漏洞通关笔记8- 大小写过滤注入

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL
  • numpy中的ndarray与pandas的Series和DataFrame之间的相互转换

    简介 在数据分析中 经常涉及numpy中的ndarray对象与pandas的Series和DataFrame对象之间的转换 让大家产生困惑 本文将简单介绍这三种数据类型 并以股票信息为例 给出相关对象之间转换的具体示例 ndarray数组对
  • opencv mat布局显示视频流

    采用Merge对mat进行定位 放置 并将数据copy到mat中 实现分块布局显示视频流 cv Mat ori img cv Mat img base mode cv Mat img black mode cv Mat img fireda
  • uniapp打包h5静态资源路径错误解决 相对路径修改

    如果用HBuilderX打开的话直接可视化添加 或者在src manifest json文件源码中修改
  • 快速解决浏览器访问http或者不安全https 地址栏出现不安全或者Not secure

    在2018 年开始 google 浏览器 开始对 http 所有的网址都做出了 不安全的提示 如 这样的话 让很多 http的网址显得很 不安全 在对外展示的时候 不禁给客户留下不好的印象 解决此问题的 正规方案当然是 改成 浏览器推荐的
  • Qt打开指定目录并选中指定文件

    目录 方法一 使用Qt自带的方法 方法二 使用windows自带工具 有时自动生成文件之后 点击某个按钮我们希望能够自动跳转到文件所在目录 打开之后不依附于运行程序 可能还需要选中该文件 环境 win10 Qt5 9 6 MinGW 方法一