Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't load Image source in QML Image

Tags:

image

qt

qml

This seems really basic but for some reason I can't get the image source to work in the ultra-simple QML app below.

FYI, I'm running Mac OS-X 10.9.5, Qt Creator 3.2.1 based on Qt 5.3.2.

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"
    }
} 

I get the following error:

qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png

The application window is created but no image is displayed. I've also tried wrapping the image within a Rectangle but this doesn't help.

What am I doing wrong here?

The "testImage.png" is in the project directory and I've tried all sorts of ways to specify the image path using resources, absolute, relative, and even specifying the image source manually with the QML UI designer.

I'll also mention that to get Qt 5.3.2 to work I followed the modification suggested HERE.

Thanks.

like image 559
Bruce Dean Avatar asked Sep 30 '14 15:09

Bruce Dean


2 Answers

I suppose that your qml file is in resources, so try place your testImage.png image in resources too. Recompile app, run it and check is image works properly.

All should be together. For example:

enter image description here

My code:

Image
{
    source: "images/earth.png"

If I delete this image from resources, I'll get this error too, but image still in the correct place in file system.

When qml source placed in the resource, then all files, which loads from qml should be in resource too (Qt searchs this files in the resources, not in the file system).

like image 137
Kosovan Avatar answered Oct 22 '22 01:10

Kosovan


If you are locating from local filesystem , get the file path and prefix "file:" as source = "file:/root/Desktop/Rathod.png"

like image 8
user11311318 Avatar answered Oct 22 '22 01:10

user11311318