但是好像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**
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)