2014-09-30 12 views
11

Görüntü kaynağı yüklenemiyor ama nedense ben resim kaynağı aşağıda ultra basit QML uygulamasında çalışmak için alınamıyor.QML Image Bu gerçekten temel görünüyor

Bilginize, Mac koşuyorum OS-X 10.9.5, Qt Creator 3.2.1 Qt 5.3.2 dayalı.

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

aşağıdaki hatayı alıyorum:

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

uygulama penceresi oluşturulur ancak görüntü görüntülenir. Resmi bir Dikdörtgen içinde de sarmalamayı denedim, ancak bu yardımcı olmuyor.

yanlış burada ne yapıyorum?

"testImage.png" proje dizinindedir ve görüntü kaynağını QML UI tasarımcısı ile manuel olarak belirleyen, mutlak, göreceli ve hatta kaynak kullanarak resim yolunu belirtmek için her türlü yolu denedim.

Ayrıca o ben modifikasyon HERE önerdi takip çalışması için Qt 5.3.2 almak söz edeceğiz.

Teşekkürler.

+0

https://doc.qt.io/qt-5/qml-qtquick-image.html#source-prop 'URL mutlak veya component.' QRC URL'ler göreli URL göre olabilir. ///home/user/testImage.png veya [QQuickImageProvider] (https://doc.qt.io/qt-5/qquickimageprovider.html) o kendi kendi işleyebilir senin tanımlayabilirsiniz: Ayrıca dosyasını kullanabilirsiniz şema Image {source: "image: //myimageprovider/testImage.png"} ' – bitek

cevap

24

qml dosyanızın kaynaklarda olduğunu varsayalım, bu yüzden testImage.png resminizi kaynaklarda da kullanmayı deneyin. Uygulamayı yeniden derleyin, çalıştırın ve görüntü düzgün çalışıyor.

Hepsi birlikte olmalı. Örneğin:

enter image description here

Kodum: Ben kaynaklardan bu görüntüyü silerseniz

Image 
{ 
    source: "images/earth.png" 

, ben dosya sisteminde doğru yerde görüntü hala çok bu hatayı almaya ama edersiniz. Kaynağa qml kaynağı yerleştirildiğinde, kaynakta qml yüklenen tüm dosyalar da kaynakta olmalıdır (Qt, bu dosyaları kaynaklarda değil, dosya sisteminde arar).

+1

Başardı, işe yaradı! Bunu milyonlarca kez yapmışım gibi görünüyor ama kaynak eklemeyi hatırlamadım. Teşekkürler! –

+2

@BruceDean Hoş geldiniz :) – Chernobyl

+2

Ayrıca, qrc kaynak dosyasında görüntüyü koyar ve aşağıdaki gibi erişirse, çalışır: Resim { kaynak: "qrc: /images/earth.png" } – SGrebenkin