我来这里遇到一个小问题,我不能在我的代码中使用任何本地.gif文件。
我使用QtCreator和Sailfish VM在Linux上工作,制作Sailfish-os应用程序。
我先尝试this example,但没有成功。
Rectangle {
width: animation.width
height: animation.height
AnimatedImage { id: animation; source: "../images/animatedimageitem.gif"}
}
执行返回:
QML AnimatedImage:错误读取动画图像文件文件:/// bla / bla / .....
与gif上的其他权限以及其他gif相同的问题。
经过一些研究后我找到了this页面,其中有人指示下载插件,但Qt声明(我希望我可以添加一个链接,但我是新的-_-',请参阅注释)GIF已经默认支持。
该插件终于无法获取,我在我的目录中找到了这个Sailfish / bin / plugins / imageformats / libqgif.so。
那么我该怎么做才能在这个该死的东西上展示一个GIF?
答案 0 :(得分:0)
您看到的错误可能与文件路径有关。 AFAIK支持Gif
个。
不要使用那种方式编写路径,而应考虑使用resource file来提高可移植性和平台独立性。
File -> New File or project -> Qt -> Qt Resource File
)Add
然后Add prefix
并设置前缀,例如/
(或任何您喜欢的内容!)Add files
并插入图片copy resource path to Clipboard
Build -> Run qmake
(基本以确保正确编译)您在剪贴板中复制的路径应采用以下格式:
://PATH_TO_IMAGE.gif
现在,根据您的QML
代码,我可以猜测image
文件夹位于与QML
文件夹相同级别的源代码中。因此,如果您从该文件夹添加了.gif
文件,则剪贴板中将包含以下路径:
://images/name.gif
这可以添加前缀以获取最终路径。如果您的前缀设置为/
,正如我们上面所做的那样,要在source
的{{1}}属性中设置的最终字符串将为:
AnimatedImage
显然,不同的前缀或不同的路径会导致不同的最终路径。
答案 1 :(得分:0)
嗯.....我只是把它放在我的手机上(Jolla)并且gif效果很好。所以这个VM似乎不喜欢GIF ......
感谢您的帮助, 心理。