使用 QIcon("test.svg")显示图标。 在自己机器上是可以正常显示的。打包后再其他机器上无法正常显示。已进行的操作。应该是有 svg 相关动态库没有正确加载,但是不清楚具体原因。
1
NoOneNoBody 121 天前
路径问题总是奇奇怪怪的,不仅限于 qt ,估计还和 workpath 有关,我建议是用 applicationDirPath() 和相对路径计算出绝对路径再动态加载,这样才能确保是 app 所在目录的“相对路径”
|
2
brokensword2018 OP @NoOneNoBody 也试过 CoreApplication::addLibraryPath(applicationDirPath() + "/plugins"),也是不行。 打印看了 QCoreApplication::libraryPath 。 看是有 plugins 目录的。 动态加载是指手动加载吗。
|
3
NoOneNoBody 121 天前
我的意思是 test.svg 用 applicationDirPath()计算出来,不是单纯添加 library
|
4
brokensword2018 OP @NoOneNoBody #3 目前 test.svg 是放在 qrc 里的。路径类似于:/icon/test.svg 这样。
|
5
brokensword2018 OP @NoOneNoBody #3 QIcon(":/icon/test.svg") 这样使用的。
|
6
Gavin999 121 天前
用 ICO 格式
|
7
Skifary 121 天前
svg 应该还需要 qt xml 的 dll ?
|