qrc资源文件加载后,裸机环境下图片不显示

Posted 随性者也

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qrc资源文件加载后,裸机环境下图片不显示相关的知识,希望对你有一定的参考价值。

问题描述:在qt开发环境下,使用qss进行界面美化工作,里面包含许多图片资源。最后项目决定把这些图片资源和代码一起打包。然后就把图片资源和qss文件一起编入qrc文件中进行编译。在本机开发环境下是没有任何显示的问题的,但是在裸机环境下就出现了图片显示不正常,而色彩显示正常的问题。

问题分析:通过把图片资源嵌入到qrc文件中,Qt的rcc.exe会根据qrc文件生成moc文件。当程序运行中,这些图片就加载到内存中。需要使用这些图片资源时可以直接读取,而不需要通过IO方式去读取磁盘的资源,可以提高反应速度,是一个使用内存空间换取反应时间的方式。对于其中的图片资源,qt程序读取时需要一些与图片相关的动态库。这些动态库在qt的安装目录中就有,具体的位置在qt安装目录下的plugins文件中,里面有关图片的库和数据库的库等等。

解决办法:在程序的执行目录下添加qt相关的图片库。把plugins目录下的imageformats目录放入你的程序执行目录下即可。如果还解决不了问题,你可以指定库的目录。

具体的函数为  void QCoreApplication::addLibraryPath ( const QString & path ) [static]

以上是关于qrc资源文件加载后,裸机环境下图片不显示的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 图形处理 - Qt Designer创建qrc资源文件引用图片资源实例演示,QTextBrower组件引用图片资源方法展示

pyinstaller打包,exe图片资源无法显示问题

如何在 Qt 资源中打包图片以便从静态 HTML 资源访问

更改后,QT QML资源文件不会重新编译

为啥我将java程序用exe4导成exe文件后程序上的图片显示不出来

PyQt5——加载资源文件