Cela semble très basique, mais pour une raison quelconque, la source de l'image ne peut pas fonctionner dans l'application QML ultra-simple ci-dessous.
Pour info, j'utilise Mac OS-X 10.9.5, Qt Creator 3.2.1 basé sur 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"
}
}
Je reçois l'erreur suivante:
qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png
La fenêtre de l'application est créée mais aucune image n'est affichée. J'ai également essayé d'envelopper l'image dans un rectangle, mais cela n'aide pas.
Qu'est-ce que je fais mal ici?
Le fichier "testImage.png" se trouve dans le répertoire du projet et j'ai essayé de nombreuses façons de spécifier le chemin de l'image à l'aide de ressources absolues, relatives et même de spécifier manuellement la source de l'image à l'aide du concepteur d'interface utilisateur QML.
Je mentionnerai également que pour faire fonctionner Qt 5.3.2, j’ai suivi la modification suggérée ICI .
Merci.
Je suppose que votre fichier qml
est en ressources, essayez donc de placer également votre image testImage.png
en ressources. Recompilez l'application, lancez-la et vérifiez si l'image fonctionne correctement.
Tout devrait être ensemble. Par exemple:
Mon code:
Image
{
source: "images/earth.png"
Si je supprime cette image des ressources, j'obtiendrai également cette erreur, mais l'image sera toujours au bon endroit dans le système de fichiers.
Lorsque qml
source est placé dans la ressource, tous les fichiers chargés à partir de qml
doivent également figurer dans la ressource (Qt recherche ces fichiers dans les ressources, pas dans le système de fichiers).
Si vous utilisez qrc, assurez-vous que l'image est ajoutée à votre projet. Le simple fait de l'avoir dans votre répertoire source peut ne pas suffire ... .. Par exemple, mon fichier main.qml se trouve dans un répertoire particulier. Je déplace mon fichier .png dans le même répertoire. Je puis "Ajouter des fichiers existants .." et ajoute le .png au projet. Mon image a les informations suivantes: Source: "qrc: /image.png"