__FILE__ 一个非常实用的宏

news2024/11/16 12:06:01

经常在VSQtCreator这两个开发环境之间切换的同志肯定会发现这两个开发环境生成的可执行程序的文件路径不一样,VS是在项目文件目录里面,而qt creator是在和项目文件夹同一目录下。如下图所示:

QtCreator:

VS:

 这就导致了一个问题,若要获取项目中某个文件的路径时,想采用相对于可执行程序的路径,但是使用不同的方式打开项目可能导致可执行程序的路径不同,所以编写代码时不能将路径写死,这时候__FILE__就该登场了。。。

在 Qt 中,__FILE__ 是一个宏,它会展开为当前源文件的名称,作为字符串字面量。这在调试和日志记录时非常有用,因为它允许你确定代码执行的确切文件和位置。

 代码示例:

QFileInfo fileInfo(__FILE__);
QString path = fileInfo.absolutePath();
QDir dir(path + "/../shopstore/advertise");
if(!dir.exists()){
    qWarning()<<"广告图加载失败";
    return;
}
//qDebug()<<" path : "<<dir.absolutePath();
QStringList pixs = dir.entryList(QStringList()<<"*.jpg"<<"*.png");
//qDebug()<<"size : "<<pixs.size();

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

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

相关文章

面向对象的编程思想

面向对象的编程思想 一、什么是面向对象&#xff1f; 面向对象编程的核心思想是把构成问题的各个事物分解成各个对象&#xff0c;建立对象的目的不是为了完成一个步骤&#xff0c;而是为了描述一个事物在解决问题的过程中经历的步骤和行为。对象作为程序的基本单位&#xff0…

如何开发、使用 Starter

开发 第一步&#xff1a;创建starter工程hello-spring-boot-starter并配置pom.xml文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchem…

达梦(DM8)数据库表空间的备份与还原(联机备份) 四

一、表空间的备份 1、备份表空间的命令操作 backup tablespace main backupset /home/dmdba/dmdata/DAMENG/bak/full_back_01 ; 2、检查表空间的备份文件 select sf_bakset_check(disk,/home/dmdba/dmdata/DAMENG/bak/full_back_01); 二、表空间的还原 1、修改表空间位脱机…

[MySql]两阶段提交

文章目录 什么是binlog使用binlog进行恢复的流程 什么是redolog缓冲池redologredolog结构 两阶段提交 什么是binlog binlog是二进制格式的文件&#xff0c;用于记录用户对数据库的修改&#xff0c;可以作用于主从复制过程中数据同步以及基于时间点的恢复&#xff08;PITR&…

Java如何设置Map过期时间的的几种方法

一、技术背景 在实际的项目开发中&#xff0c;我们经常会使用到缓存中间件&#xff08;如redis、MemCache等&#xff09;来帮助我们提高系统的可用性和健壮性。 但是很多时候如果项目比较简单&#xff0c;就没有必要为了使用缓存而专门引入Redis等等中间件来加重系统的复杂性…

【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE

HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE 问题描述 uniapp开发微信小程序&#xff0c;在HBuilderx中运行到微信开发者工具时报错Error: Fail to open IDE 解决方案 1. 查看微信开发者工具端服务端口是否开放 打开微信开发者工具选择&#xff1…

艺术家电gorenje x 设计上海丨用设计诠释“生活的艺术”

2024年6月19日—22日&#xff0c;艺术家电gorenje亮相“设计上海”2024&#xff0c;以“gorenje是家电更是艺术品”为题&#xff0c;为人们带来融入日常的艺术之美。设计上海2024不但汇集了国内外卓越设计品牌和杰出独立设计师的家具设计作品&#xff0c;还联合国内外多名设计师…

【linux学习十六】网络管理

网络管理器(NetworkManager)是一个动态网络的控制器与配置系统&#xff0c;它用于当网络设备可用时保持设备和连接开启并激活 默认情况下&#xff0c;CentOS/RHEL7已安装网络管理器&#xff0c;并处于启用状态。 认识网卡 ens32 ens33 ens34 ens35 一.ip相关 查询网络状态 sy…

数据结构——二分算法

二分查找 1. 在排序数组中查找元素的第一个和最后一个位置 代码实现&#xff1a; /*** Note: The returned array must be malloced, assume caller calls free().*/int binarySearch(int *nums, int numsSize, int target) {int l 0, r numsSize - 1; while (l <…

viper:一款中国人写的红队服务器——记一次内网穿透练习

1. viper Viper 是中国人自主编写的一款红队服务器&#xff0c;提供图形化的操作界面&#xff0c;让用户使用浏览器即可进行内网渗透&#xff0c;发布在语雀官方地址 提供了很全面的官方文档&#xff0c;包括四大部分&#xff0c;分别是使用手册、模块文档、博客文章、开发手册…

高中数学:数列-错位相减法与裂项相消法求数列的和

一、错位相减法 设&#xff0c;an是等差数列&#xff0c;bn是等比数列&#xff0c;那么{an*bn}构成一个新的数列 这个新数列的求和公式&#xff0c;就可以用错位相减法求解。 练习 例题1 解析&#xff1a; 第一问 第二问 二、裂项相消法 1、裂项的几种常见形式 形式1…

Junit4测试基本应用(白盒测试)

Junit4测试基本应用&#xff08;白盒测试&#xff09; 一、实验目的 掌握Junit的基本操作&#xff0c;进行较简单的单元测试。 二、Junit4测试的使用 1. 创建java项目JUnitText 我使用的Eclipse&#xff0c;在左侧Package Explorer(包资源管理器)右键&#xff0c;新建Java …

物联网 IoT 收录

物联网IoT日常知识收录 thingsboard, nodered是国际大品牌&#xff0c; iotgateway是国内的&#xff0c; 几个scada, pyscada, json-scada都还不错&#xff0c;比较一下。thingsboard-gateway是python系的&#xff0c;如果你愿意&#xff0c;可以用这个作为公司的物联网网关。…

全网最强剖析Spring AOP底层原理

相信各位读者对于Spring AOP的理解都是一知半解&#xff0c;只懂使用&#xff0c;却不懂原理。网上关于Spring AOP的讲解层出不穷&#xff0c;但是易于理解&#xff0c;让人真正掌握原理的文章屈指可数。笔者针对这一痛点需求&#xff0c;决定写一篇关于Spring AOP原理的优质博…

视频监控解决方案:视频平台升级技术方案(下)

目录 1 项目概况 2 项目需求 2.1 视频感知资源扩充 2.2 视频支撑能力升级 2.3 视频应用能力升级 3 技术设计方案 3.1系统总体架构 3.2视频感知资源扩充设计 3.3 视频支撑能力升级设计 3.4 视频应用能力升级设计 3.4.1视频资源目录管理 3.4.2标签管理 3.4.3设备智能…

万亿国债野外图传——天通卫星图传设备类目推荐

在远离都市喧嚣的辽阔自然中&#xff0c;户外工业作业以其独特的重要性日益凸显&#xff0c;涵盖了从高山峻岭的地质勘探、森林资源调查到广袤草原的生态监测等众多领域。然而传统监测方法不能全面覆盖&#xff0c;冰雪覆盖的山区和偏远地区的电力设施状况以及野生动物等户外状…

多功能推拉力测试机可实现焊球推力测试

LB-8100A 多功能推拉力测试机广泛应于与 LED 封装测试、IC 半导体封 装测试、TO 封装测试、IGBT 功率模块封装测试、光电子元器件封装测试、汽 车领域、航天航空领域、军工产品测试、研究机构的测试及各类院校的测试 研究等应用。 多功能推拉力测试机设置主要结构&#xff1a;…

DDD(data display debugger)调试工具

文章目录 DDD安装界面说明 DDD data display debugger是命令行调试程序&#xff0c;可以理解为可视化的GDB。 安装 CentOS下使用以下命令进行安装&#xff1a; yum install ddd等待安装完成即可。 界面说明 顺便写一个测试程序&#xff0c;编译可执行文件 终端命令行输入…

51单片机STC89C52RC——7.1 串口通信

目的/效果 实现单片机串口与电脑串口工具进行数据通讯&#xff0c; 1&#xff1a;设备向电脑串口发送HEX 2&#xff1a;让电脑串口工具控制单片机LED亮灭。同时让单片机反馈控制的结果。 一&#xff0c;STC单片机模块 二&#xff0c;串口通讯 2.1 串行通信与并行通信 &…

智心顾问:为心智障碍家庭带来温暖与专业支持

&#x1f499;关爱从心开始 —— 理解心智障碍 在这个世界上&#xff0c;有这样一群特殊的群体——心智障碍者。他们通常伴随着个体认知、社会互动和学习能力的障碍。这些障碍可能源于遗传、环境或未知因素&#xff0c;但不应成为他们照护者获得信息和支持的阻碍。心智障碍者的…