QML中怎么获取当前路径

QML中怎么获取当前路径,第1张

其实根本问题是我想把C++中的QPixmap变量传到QML中做Image的source

但是好像QML中不能用QPixmap,所以我就牺牲了下效率,把图片存在本地,然后再通过QML来访问本地文余物禅件。

QML好像不支持相对路径,我又获取不到当前路径蚂扒。竖尘

后来解决了,在C++中写了一个返回路径的函数,在QML中调用就可以了

但是问题又出现了,移植到android以后,QPixmap::save不成功,不知道是没权限还是怎么了。

所以根本问题还是怎么把C++中的QPixmap传到QML中

如何在QML(QML文件放在资源文件中)展现本地图片文件

在程序中我获取到一个文件路径,比如root下面有个example.jpg文件,那么我获取到文件路径为/root/example.jpg

这个时候如果我的QML文件不放在资源文件编译,通过下列代码

Image{

id: photoThumb

x: 100

y: 50

width: 600

height: 400

source: "/root/侍型example.jpg"

}

可以正确地将图片显示出来

但是因为在打包的时候,为了程序能够正确地运行出来,所有的QML文件都必须放在资源文件中,这样上面的这段代码就不能禅滑正确地运行了,图片就显示不出来了,程序报错为 Cannot open: qrc:/root/example.jpg 我们可以看见打入资源包中的QML文件在访问文件路径的时候他不是到本地去找文件,而是在资源文件中寻找,结果导致找不到,从而我无法老袭猜显示图片。

关于如何将大凯QML插件安装在指定目录下,可参考文档:顷尺 Qt Creator 中 INSTALLS 变量 如何起作用

QML插件在安装到指定目录后,不会自滚乎唤动生产plugin.qmltypes这个文件

于是,在命令行下可以执行类似的命令:

注意,该命令执行前,插件已经安装到 [QT的QML插件路径] 目录下

这样就有一个问题,每次安装更新插件后,都要在Shell中执行该命令,会比较麻烦,是否可以在Qt Creator中执行呢?

答案是可以的,可以通过类似的设置:

注意:

1、Command 填入: qmlplugindump

2、Arguments 填入:** -nonrelocatable Material 0.3 %{CurrentProject:QT_HOST_BINS}/../qml/Material >%{CurrentProject:QT_HOST_BINS}/../qml/Material/plugin.qmltypes**


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12219423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存