image - 无法在QML图像中加载图像源

标签 image qt qml

这似乎很基础,但是由于某些原因,我无法在下面的超简单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/

相关文章:

jquery - 单击按钮以 HTML 随机更改图像

javascript - 如何使用javascript打印图像

qt - Qt 5.5 的 Qt3D 示例中的 ForwardRenderer 是什么?

qt - QWebView和嵌入式YouTube播放器-无法正常工作

android - Qt for android 找不到任何兼容的设备

qt - 在QML ListView中的元素之间需要页边距

c++ - 类似 QML 的方法或编程语言?

javascript - 按列表 float 三 Angular 形图片

python - 如何将 Sprite 从矩形更改为图像?

c++ - Http POST,使用Qt选择页面