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