[Qt6][QML][教程]Image控件图片的更新以及相对路径的访问

最近用Qt6+QML仿制网易云切歌时候MAC的通知界面,调用Image控件的时候发现了一些问题。

教程被应用在MediaStateT中

MediaStateT Github项目地址: https://github.com/taxue-alfred/MediaStateT

MediaStateT Gitee项目地址: https://gitee.com/MediaState/MediaStateT


问题描述:
  1. Image控件在重新对source赋值的时候,如果路径未发生改变,那么就会使用缓存区的图片。

  2. Image的source属性应该使用绝对路径,使用qrc:会被编译到char数组中,更别提什么更改了

    这里对qrc的部分问题写的比较明白了:QT中添加的资源文件qrc时的路径问题小结_dijkstar的专栏-CSDN博客_qt添加qrc

解决方案:

使用file:YourFilePath

如果是绝对路径就需要用file:///YourAbsolutePath

比如我的Image控件的id:img,那么先关闭它的缓存功能:cache:false
然后,在你需要对其进行图片更改的时候:

//由于QtImage存在缓存机制,需要cache:false并且先置空路径再设置路径才会加载图片,不改变路径直接调用上次的缓存
img.source = ""
img.source = "file:./YourImage.jpg"
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值