Dies scheint wirklich einfach zu sein, aber aus irgendeinem Grund kann ich die Bildquelle nicht dazu bringen, in der ultra-einfachen QML-App unten zu funktionieren.
Zu Ihrer Information, ich verwende Mac OS-X 10.9.5, Qt Creator 3.2.1 basierend auf 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"
}
}
Ich erhalte folgende Fehlermeldung:
qrc:/main.qml:10:5: QML Image: Cannot open: qrc:/testImage.png
Das Anwendungsfenster wird erstellt, aber es wird kein Bild angezeigt. Ich habe auch versucht, das Bild in ein Rechteck einzuwickeln, aber das hilft nicht.
Was mache ich hier falsch?
Die Datei "testImage.png" befindet sich im Projektverzeichnis. Ich habe alle Möglichkeiten ausprobiert, den Bildpfad mithilfe der absoluten, relativen und sogar der manuellen Angabe der Bildquelle mit dem QML-UI-Designer anzugeben.
Ich möchte auch erwähnen, dass ich, um Qt 5.3.2 zum Laufen zu bringen, der vorgeschlagenen Abänderung HIER gefolgt ist.
Vielen Dank.
Ich nehme an, Ihre qml
-Datei befindet sich in Ressourcen. Versuchen Sie, Ihr testImage.png
-Bild auch in Ressourcen zu platzieren. App neu kompilieren, ausführen und prüfen, ob das Image ordnungsgemäß funktioniert.
Alles sollte zusammen sein. Zum Beispiel:
Mein Code:
Image
{
source: "images/earth.png"
Wenn ich dieses Abbild aus den Ressourcen lösche, wird auch diese Fehlermeldung angezeigt, das Abbild befindet sich jedoch noch an der richtigen Stelle im Dateisystem.
Wenn qml
source in der Ressource abgelegt wurde, sollten sich auch alle Dateien, die von qml
geladen werden, in der Ressource befinden (Qt durchsucht diese Dateien in den Ressourcen, nicht im Dateisystem).
Wenn Sie vom lokalen Dateisystem aus suchen, geben Sie den Dateipfad und das Präfix "file:" als source = "file:/root/Desktop/Rathod.png"
Es kann zwei Probleme geben:
IconImage
weigert sich, es zu laden. Versuchen Sie, ein anderes Bild zu verwenden, das als richtig funktioniert. Der Qt Image Loader reagiert anscheinend sehr empfindlich auf das Bildformat.qml_qmlcachea.qrc
In Ihrem Kompilierungsordner zu löschen und versuchen Sie es erneutWenn Sie qrc verwenden, stellen Sie sicher, dass das Bild zu Ihrem Projekt hinzugefügt wird. Es reicht vielleicht nicht aus, es nur in Ihrem Quellverzeichnis zu haben Zum Beispiel befindet sich meine main.qml in einem bestimmten Verzeichnis. Ich verschiebe mein .png in dasselbe Verzeichnis. Ich füge dann "Vorhandene Dateien hinzufügen" hinzu und füge das .png zum Projekt hinzu. Mein Bild hat die folgende -Quelle: "qrc: /image.png"