使用 QIcon("test.svg")显示图标。 在自己机器上是可以正常显示的。打包后再其他机器上无法正常显示。已进行的操作。应该是有 svg 相关动态库没有正确加载,但是不清楚具体原因。
1 NoOneNoBody 2024-07-23 17:10:43 +08:00 路径问题总是奇奇怪怪的,不仅限于 qt ,估计还和 workpath 有关,我建议是用 applicationDirPath() 和相对路径计算出绝对路径再动态加载,这样才能确保是 app 所在目录的“相对路径” |
2 brokensword2018 OP @NoOneNoBody 也试过 CoreApplication::addLibraryPath(applicationDirPath() + "/plugins"),也是不行。 打印看了 QCoreApplication::libraryPath 。 看是有 plugins 目录的。 动态加载是指手动加载吗。 |
3 NoOneNoBody 2024-07-23 17:21:27 +08:00 我的意思是 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 2024-07-23 17:41:19 +08:00 用 ICO 格式 |
![]() | 7 Skifary 2024-07-23 17:54:59 +08:00 svg 应该还需要 qt xml 的 dll ? |