这似乎很基础,但是由于某些原因,我无法在下面的超简单QML应用程序中使用图像源。
仅供引用,我正在运行Mac OS-X 10.9.5,基于Qt 5.3.2的Qt Creator 3.2.1。
import QtQuick 2.3
import QtQuick.Controls 1.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Test")
Image {
id: image1
x: 10
y: 10
width: 100
height: 100
source: "testImage.png"
}
}
我收到以下错误:
qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png
创建了应用程序窗口,但未显示图像。我也尝试过将图像包装在Rectangle中,但这无济于事。
我在这里做错了什么?
“testImage.png”位于项目目录中,我尝试了各种方法来使用资源(绝对,相对)指定图像路径,甚至使用QML UI设计器手动指定图像源。
我还将提到要使Qt 5.3.2正常工作,我遵循了建议的修改HERE。
谢谢。
最佳答案
我想您的qml
文件位于资源中,因此也尝试将testImage.png
图像也放入资源中。重新编译应用程序,运行它并检查图像是否正常。
所有人都应该在一起。例如:
我的代码:
Image
{
source: "images/earth.png"
如果我从资源中删除该镜像,我也会收到此错误,但是镜像仍位于文件系统中的正确位置。
当
qml
源放置在资源中时,从qml
加载的所有文件也应该在资源中(Qt在资源中搜索此文件,而不是在文件系统中搜索)。
关于image - 无法在QML图像中加载图像源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26125095/