二、添加资源文件

Qt资源系统是一个跨平台的资源机制,可以将各种类型的文件以二进制的方式存储与可执行文件内部。使用Qt Creator可以很方便的创建资源文件。在工程上点击右键选择“添加新文件”,可在Qt分类中找到Qt资源文件(Qt Resource File),如下图所示,将其命名为res:

创建完成后会自动打开资源文件,在界面右侧编辑区,有个添加按钮 。如下图:

我们需要先添加前缀,点击添加选择添加前缀,默认前缀是“/new/prefix1”,这个可以随便更改但是不要使用中文字符,例如我们把它改为images。然后再点击添加选择添加文件。资源添加成功后,如下:

我们可以在mainwindow.cpp文件中的构造函数中,添加一行代码:

ui->centralWidget->setStyleSheet(QStringLiteral("border-image: url(:/images/1.jpg);"));

运行程序,便可以看到图片了

这样存在一个问题,就是如果某种情况下需要改变图片的名称,例如需要将1.jpg改为2.jpg,那么程序中所有用到这张图片的路径都需要改。为了解决这个问题,我们可以为它设置一个别名,然后使用这个别名来引用。具体做法如下:

例如我们将1.jpg这个文件的别名设置为alias。那么就可以使用“:/images/alias”来引用它,而不必去关心它的真实文件名。

在前缀下方还有个“语言”。它是用来做国际化的。我们再添加一个前缀images/en,语言设置为en,然后添加一个文件2.jpg。

如果本机的本地化信息是en的话(QLocale::system().name()返回fr_FR),则使用:/images/en/alias这个图片;如果不是,则默认使用:/images.alias。

时间: 2024-10-25 10:34:37

二、添加资源文件的相关文章

WPF 添加 Resources Dictionary 资源 一般类库项目中无法添加资源文件(ResourceDictionary)

原文:WPF 添加 Resources Dictionary 资源 一般类库项目中无法添加资源文件(ResourceDictionary) 在文件夹或者项目右键-> Add(添加),会弹出可以快捷添加的资源,但是你会发现没有 ResourceDictionary资源可以选择. 解决此问题方法: 第一步:工程->右键->Unload Project 第二步:刚刚Unload的这个工程->右键->Edit XXXX : 第三步:PropertyGroup中添加    <Pr

Intellij IDEA项目添加资源文件

添加了一个资源文件,但读取的时候出错了 1 prop.load(Config.class.getResourceAsStream("/resources/dbconfig.properties")); 报nullPointerException,通过一下方法解决: File->Project Structure->module->Source标签下选择资源文件目录,点击Resource按钮,然后在右侧设置路径,没有截图,下次方便截图时在修改

vs2010通过添加资源文件,修改win32创建的窗口

1.右键项目的“资源”,新建资源,生成.rc文件 2.进入资源视图创建icon或menu等资源 3.退出资源视图,编译这个.rc文件 4.项目源代码中添加如下几个头文件 #include "resource.h"#include "resource2.h"#include "resource1.h"#include "resource3.h" 5.在源代码中以ID调用资源,并为有需要的写上消息处理

VS2010 添加资源文件后,出现 “LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”错误

1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 解决方法: 一.1.点击“项目”-->“属性”-->“清单工具” 2.‘输入和输出’-->‘嵌入清单’,后面的‘是’改成‘否’就可以了 二.将“C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin”文件夹中的cvtres.exe删除(可以更换名字即可)

如何在Qt资源文件中包含exe等各种类型文件?

操作系统:Windows 10 X64 企业版 Qt: 5.8.0 QtCreater: 4.2.1 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放exe可执行文件,结果没有谁给我一个准确的答复,包括问写过图书的选手!!我现在非常鄙视写书的选手,是高傲还是为了面子,对于我的问题根本就不回答!!!不仅仅是一个写书选手这样,很多个!!!我相信很多作者都是乐于帮助别人,极少数人才这个德性!!!! Qt做为开发了这么多年的跨平台GUI开发解决方案,我相信这

在.NET中读取嵌入和使用资源文件的方法

转http://www.jb51.net/article/84660.htm 本文分别介绍了使用GetManifestResourceStream读取嵌入资源,和使用. resx资源文件嵌入资源,希望对大家有所帮助. Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Stream.另一种方法是在项目中加入. resx资源文件,在资源文件中添加资源,由Re

[CSharp]6 文件属性以及资源文件的使用

一.C#文件属性 1.什么是文件属性 文件属性可以用来指示项目系统对应文件执行的操作.具体的操作见下文.Visual Basic和Visual C#的文件都具有4个属性:“FileName".“BuildAcition”.“CustomTool”.”CustomToolNamespace“. 2.CopyToOutputDirectory属性 此属性指定将选定的源文件复制到输出目录所依据的条件.如果从不将文件复制到输出目录,请选择“不复制”:如果总是将文件复制到输出目录,请选择“始终复制”:如果

文件属性及资源文件的使用

一.C#文件属性 1.什么是文件属性 文件属性可以用来指示项目系统对应文件执行的操作.具体的操作见下文.Visual Basic和Visual C#的文件都具有4个属性:"FileName"."BuildAcition"."CustomTool"."CustomToolNamespace". 2.CopyToOutputDirectory属性 此属性指定将选定的源文件复制到输出目录所依据的条件.如果从不将文件复制到输出目录,请

Pyqt 打包资源文件

用打包工具将做好的Pyqt程序打包成exe后发现引用的资源图片都显示不了? 是否遇到了和我一样的问题呢.google之后找到了方法,一种方法是在程序中引用外部资源,另外一种方法是将资源文件转换为py文件,然后引用py.下面我们详细来实现后者方法实现的过程 一. 生成资源文件 要把资源文件转换为py文件首先要有资源文件,我们打开Qt Designer,添加资源文件 保存好资源文件后缀是以 .qrc  结尾的,用notepad++查看.qrc文件发现该文件其实为XML 1 <RCC> 2 <