QGis二次开发基础 — 图标不显示问题

这篇文章将会解决QGis编译之后,部分图标不显示的问题,相信很多同学在Windows下编译时都遇到过这个问题,症状看下图。

这里写图片描述

可以看到,其实并不是所有图标都不显示的,有一部分能够显示,说明并不是图标文件有问题,也不应该是缺少了一部分图标文件。实际上,肯定有同学还用Qt Designer打开过名为“qgisapp.ui”的文件,但是却可以明显看到图标显示正常,如下图。

这里写图片描述

这说明,图标文件齐全、路径正确。但为什么运行程序时有些图标不显示呢?

仔细观察会发现,这些不显示的图标都是“svg”格式的,例如下图当中所列的图标,都是被QGis用到,但程序运行时不显示的,而别的“png”格式的图片则显示正常。

这里写图片描述

这种格式的图标文件在QGis程序里面用到的很多,因此不要去把所有的”svg”文件转换成”png”格式,太多了。

事实上,这个是Qt的问题,不是QGis的问题,并不是Qt不支持”svg”的图片(Qt Designer能够显示就说明是支持的),而是运行的时候程序找不到正确支持图标格式的库文件。在这里,这个文件是”qsvg4.dll”,这个文件在Qt所在路径的”plugins/imageformats”文件夹下,如下图所示。

这里写图片描述

OK,讲到这里,解决方案就很明显了。
将这个“qsvg4.dll”拷贝到与”qgis.exe”路径下就可以了。由于QGis版本和Qt版本的问题,有些同学可能将库文件拷过去还是不行,是因为程序没找到“imageformats”这个文件夹。这个时候,只需要将”imageformats”这个文件夹全部拷贝到”qgis.exe”路径下就可以了。如下图

这里写图片描述

最后图标就可以全部正常显示了。

这里写图片描述

顺便提一下,在做QGis二次开发的时候,如果用到QGis的这些图标,也会出现上述的问题,解决方法是一样的,拷贝库文件夹到程序的 exe 文件路径下,就可以了。

谢谢阅读!

© 版权声明
THE END
喜欢就支持一下吧
点赞506 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容