这看起来非常基本,但出于某种原因,我无法在下面的超简单QML应用程序中使用图像源.
仅供参考,我正在运行基于Qt 5.3.2的Mac OS-X 10.9.5,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"
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png
Run Code Online (Sandbox Code Playgroud)
已创建应用程序窗口但未显示任何图像.我也试过在Rectangle中包装图像,但这没有用.
我在这做错了什么?
"testImage.png"位于项目目录中,我尝试了各种方法来使用资源指定图像路径,绝对,相对,甚至使用QML UI设计器手动指定图像源.
我还要提到为了让Qt 5.3.2工作,我遵循了HERE建议的修改.
谢谢.
Che*_*byl 30
我想你的qml
文件是资源,所以尝试将你的testImage.png
图像放在资源中.重新编译应用程序,运行它并检查图像是否正常工作.
一切都应该在一起.例如:
我的代码:
Image
{
source: "images/earth.png"
Run Code Online (Sandbox Code Playgroud)
如果我从资源中删除此图像,我也会收到此错误,但图像仍然在文件系统中的正确位置.
当qml
源放置在资源中时,所有加载的文件也qml
应该在资源中(Qt在资源中搜索此文件,而不是在文件系统中).