qt中路径使用的小结

2023-10-29

QCoreApplication::applicationDirPath()

帮助文档中的解释:返回包含应用程序可执行文件的目录。例如,如果您在C:\Qt目录下安装了Qt,并且运行regexp示例,该函数将返回"C:/Qt/examples/tools/regexp"。在macOS和iOS上,这将指向实际包含可执行文件的目录,它可能在一个应用程序包(如果应用程序被绑定)中。
个人解释:可执行文件所在的路径

QCoreApplication::applicationFilePath()

帮助文档中的解释:返回应用程序可执行文件的文件路径

QDir::currentPath()

帮助文档中的解释:返回应用程序当前目录的绝对路径。当前目录是使用QDir::setCurrent()设置的最后一个目录,如果没有调用该目录,则是父进程启动该应用程序时所在的目录。
个人解释:若调用了QDir::setCurrent()就是最后一次调用时所设置的目录。若未调用则应用程序当前工作目录的绝对路径。

./

和QDir::currentPath()差不多,是应用程序当前工作目录的绝对路径。

举例

代码:

qDebug() <<" QCoreApplication::applicationDirPath()" << QCoreApplication::applicationDirPath();
qDebug() <<" QDir::currentPath()" << QDir::currentPath();
QDir pathTest("./");
qDebug() << "./ "<< pathTest.absolutePath();
//输出
//在release下运行得出
// QCoreApplication::applicationDirPath() 	"E:/qtworksqace/build-DovenBoxV3-Desktop_Qt_5_9_8_MinGW_32bit-Release/release"
// QDir::currentPath() 			"E:/qtworksqace/build-DovenBoxV3-Desktop_Qt_5_9_8_MinGW_32bit-Release"
// QCoreApplication::applicationFilePath() "E:/qtworksqace/build-DovenBoxV3-Desktop_Qt_5_9_8_MinGW_32bit-Release/release/DovenBoxV3.exe"
// ./  				"E:/qtworksqace/build-DovenBoxV3-Desktop_Qt_5_9_8_MinGW_32bit-Release"

//用windeployqt打包后运行得出
// QCoreApplication::applicationDirPath() "C:/Users/rong/Desktop/DovenBoxV3"
// QCoreApplication::applicationFilePath() "C:/Users/rong/Desktop/DovenBoxV3/DovenBoxV3.exe"
// QDir::currentPath() "C:/Users/rong/Desktop/DovenBoxV3"
// ./  "C:/Users/rong/Desktop/DovenBoxV3" 

注意:在release模式下运行时,注意区分QDir::currentPath()中的当前工作目录的绝对路径,以及QCoreApplication::applicationDirPath()中的包含可执行文件的绝对路径。输出结果是不一样。当用windeployqt打包发布后这工作目录的绝对路径和包含可执行文件的绝对路径才是一致的。

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

qt中路径使用的小结 的相关文章

  • 有没有办法向 QListView 添加部分?

    我正在使用 Qt5 2 和 C 来实现一个应用程序 需要显示一个列表 其中包含类似于下面的示例图像的部分 source ngo hung com http www ngo hung com files images contact list
  • 在 Qt 服务器上验证用户身份

    我正在尝试使用 C QtTcpSocket 为个人项目 多人国际象棋游戏 实现身份验证系统 我的朋友建议了一种验证用户的方法 但我想问是否有更简单或更好的方法 来自 Python 背景 做这个项目主要是为了加深对 C 的理解 我将发布我朋友
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • QStyledItemDelegate 绘制自定义小部件失败

    在我的一个项目中 我使用的是QTableWidget为了显示一些复杂的计算结果 为了提高表格的可读性 我需要在单个表格单元格内显示两个对齐的值 后来我想通过使用颜色或箭头等来进一步自定义小部件 为此我源自QStyledItemDelegat
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 如何在Qt 5中的paintEvent上使用mouseMoveEvent?

    我是 Qt 和 c 的新手 所以我遇到了一些困难 我正在尝试创建一个小部件 它可以获取 mouseMoveEvent 位置并在鼠标位置的像素图上绘制椭圆 下面你可以看到代码 include myimage h include
  • Qt中Q_PROPERTY的意义是什么?

    我无法理解 Q PROPERTY 的用法 Q PROPERTY 如何帮助程序具有防御性 它是干什么用的 我看过这个论坛 但确实无法应用 我已经理解了这个例子 但不明白它的用法 这是一个例子 我能从中得到什么 我知道阅读将赋予只读特权 wri
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • QTabWidget 选项卡在垂直方向,但文本在水平方向

    我正在尝试用 C Qt 制作一个带有这样的侧边栏的应用程序 但是当将 QTabWidget 方向设置为西时 它会使文本垂直 如何让文本位于左侧 但水平对齐 PS 我不需要图标 提前致谢 您可以使用QListWidget http doc q
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • 在 Qt 中,许多插槽连接到同一信号,它们在发出信号时是否按顺序调用?

    In the Qt文件说 如果多个插槽连接到一个信号 则这些插槽将 按照它们连接的顺序一个接一个地执行 当信号发出时 但在connect 功能 设置Qt ConnectionType输入为Qt QueuedConnection意思是 当控制
  • QObject 通用信号处理程序

    信号处理程序 是指插槽 而不是 POSIX 信号的处理程序 我需要 连接 可能不会 using QObject connect直接地 所有信号从 QObject 的 未知 子类的实例到一个单槽另一个 QObject 的 我需要这个才能通过网
  • 使 QLabel 的像素图透明

    我有一个带有 QLabel 和像素图的主窗口 我想让它透明 或不那么不透明 我正在使用下面的代码 ui gt label gt setAttribute Qt WA TranslucentBackground ui gt label gt
  • Qt:将数字转换为 QString、QVariant 或 QString::number 哪个更好

    我只是好奇 比方说 我需要在控制台中输出一个数字 代码是 include
  • 使用 C++ 访问 Azure blob 存储 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • 使用 qbs 构建 qt 应用程序

    我想知道在 Linux 上使用 qbs 编译 构建和创建 Android Qt 应用程序的步骤 我拥有所有必要的工具 目前我可以使用 qmake 创建 apk Qbs 目前不支持构建 Qt Android 应用程序 Qbs v1 4 中引入
  • Qt 5.3 QPlainTextEdit 更改 QTextCursor 颜色

    我想更改下面的光标颜色QPlainTextEdit小部件 我能够将其宽度设置为6 但我想改变颜色或者它 是否可以 QFontMetrics fm font setCursorWidth fm averageCharWidth setCurs

随机推荐

  • CUDA矩阵乘法

    include
  • java8 retry 重试机制_Python异常失败重试模块:retrying,python爬虫必备利器

    图 文 迷神 从之前写的 Python登陆小米路由器拨号更换IP 绕过网站反爬IP限制机制 我们就可以看到python有一种重试机制 很好用 特别是在写爬虫的时候 简直是python爬虫必备利器 工作中也经常碰到的问题就是 某个方法出现了异
  • VS2017社区版Community 许可证过期解决方法

    之前过期可以登录自己的github账号再认证一下就OK了 但是这次就是登录不上会有脚本错误的弹窗 搜到一个方法亲测有效 也非常简单 找一个同等开发环境 把对应路径下的许可证文件夹拷贝放到自己的文件夹下即可 感谢各位大佬愿意分享
  • AD学习笔记(二)——PCB布局布线

    PCB布局布线 1 先确定板子的大小 用Keep out层或机械层确定边框 2 布线 走线连接需为钝角 不能出现直角 锐角 布局时要考虑走线的难易 线长 走线要尽量短 和可能出现的绕线情况 顶层和底层线大规律要十字交叉 走线与边框距离大于1
  • 如何通过开发机连接远程机器开发(端口转发)

    MobaXterm方式 可以解决公司需要要用跳板机连接远程机器的问题 打开mobaxterm gt tools gt MobaSSHtunnel 就进入以下界面 Forward Port 写本地没有被用过的端口 这里用的是10023 SSH
  • 【Git系列】了解什么是版本控制

    了解什么是版本控制 1 什么是版本控制 2 为什么要有版本控制 3 常见的版本控制工具 4 版本控制分类 4 1 本地版本控制 4 2 集中版本控制 4 3 分布式版本控制 其他系列 Git最详细的体系化教程 学习git之前 我们需要先明白
  • 找出1000以内所有素数

    今天和大家分享一个打印1000以内所有素数的程序 这是我第一次在平台上分享我写的代码 希望对一些像我一样的初学者有点帮助 include
  • 计算机论文参考文献最新年份,参考文献时间格式

    参考文献时间格式 论文的参考文献是在学术研究过程中 对某一著作或论文的整体的参考或借鉴 本篇是小编为大家收集整理的参考文献时间格式 喜欢的朋友不要错过啦 参考文献时间格式 1 期刊 序号 主要作者 文献题名 J 刊名 出版年份 卷号 期号
  • 计算机网络——绪论

    6个章节 外加实验和复习课时 题目来自于题库 重在理解 翻译 概述 物理层 链路层 网络层 传输层 应用层 复习课 实验课 一 计算机网络的基本概念 21 世纪的一些重要特征就是 数字化 网络化 和 信息化 是一个以网络为核心的信息时代 网
  • centos7下面php5.6添加postgresql相关扩展【试行】

    下载相关资源 首先 请下载PDO PGSQL及pq两个扩展包源码 PDO PGSQL pq 我下的是 请上传到centos服务器 上传完毕 解压及编译 解压后 分别编译扩展 编译pq扩展 步骤如下 注意 使用phpize的时候需要到扩展根目
  • void 可以避免编译警告

    下面这个函数被声明返回一个int类型 static int hns nic net stop struct net device ndev hns nic net down ndev return 0 如果在调用的时候不关心这个返回值的话
  • Linux 内核将用 Nftables 替代 iptables

    新的防火墙子系统 包过滤引擎 Nftables 将在 Linux 3 13 中替代有十多年历史的iptables iptables netfilter在2001年加入到2 4内核中 诞生于2008年的 NFTables 设计替代 iptab
  • Linux高级命令02 查看文件内容命令、链接命令

    Python Web篇学习汇总 Part 01 Linux基础命令 操作系统与虚拟机软件 了解Ubuntu操作系统 Linux查看 切换目录命令 绝对路径和相对路径 创建 删除 复制 移动文件及目录命令 ls命令选项 mkdir和rm命令选
  • SpringBoot入门了解

    第 1 章 Spring Boot入门 1 简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 2 微服务 微服务 架构风格 服务微化 一个应用应该是一组小型服务 各司其职 那么对于负
  • edge浏览器证书错误NET::ERR_CERT_AUTHORITY_INVALID

    解决方案 使用fiddler后edge浏览器频繁证书报错 重置浏览器设置后正常
  • java根据word模板导出word文件

    1 word模板文件处理 如下图所示在word 文档中填值的地方写入占位变量 2 将word文档另存为xml文件 编辑如下图 找到填写的占位 修改为 bcrxm 格式 3 将文件后缀名改为 ftl文件 4 java处理过程 引入frameM
  • eigen 矩阵求逆_C++学习笔记——6. Eigen入门(矩阵运算及几何模块)

    本文介绍了C 中Eigen库的代数运算模块和几何模块 以程序实例演示了常见指令用法 Eigen是一个高层次开源C 库 有效支持线性代数 矩阵和矢量运算 数值分析及其相关算法 在SLAM或者VIO研究中 对Eigen库的使用可以说非常多 因此
  • opencv使用(一):安装 -- 基于python3.7

    目录 pip安装 源码安装 测试 pip安装 打开命令行工具cmd 直接安装 安装成功即可获得最新版opencv python pip install opencv python 也可以指定版本 例如 pip install opencv
  • 服务器Linux系统安装 制作CentOS 7.6 U盘启动

    第一步 准备工作 1 8G以上U盘 2 UltraISO虚拟光驱 试用即可 破解的话自行找一下教程或者激活码 下载地址 https cn ultraiso net xiazai html 3 CentOS 7 6 镜像 这里推荐1810或者
  • qt中路径使用的小结

    QCoreApplication applicationDirPath 帮助文档中的解释 返回包含应用程序可执行文件的目录 例如 如果您在C Qt目录下安装了Qt 并且运行regexp示例 该函数将返回 C Qt examples tool