2013-06-14 19 views
7

QLabel widget'ında bir resim göstermek istiyorum. görüntü resource.qrc dosyaya klasör ./images/ akrabası bulunan ve böyle dahildir:Qt qrc kaynak yolu çalışmıyor

<RCC> 
    <qresource prefix="/images"> 
     <file>image.png</file> 
    </qresource> 
</RCC> 

Şimdi bir QLabel içinde resim göstermek istiyorum: Bu işe yaramaz

QPixmap pixmap(":/images/image.png"); 
label->setPixmap(pixmap); 

. Hata ayıklama modunda pixmap = NULL. Qrc yolunun yanlış olduğunu düşünüyorum. Resmin c:/images/... mutlak sistem yolu ile düzgün çalışıyor. Herhangi bir fikir?

+1

Kaynağınızı başlattınız mı? –

+0

Sanırım öyle. .pro dosyasında "RESOURCES = resource.qrc" – Xear

+1

olarak belirtilir. 'Q_INIT_RESOURCE (kaynaklar)' gibi bir şeye ihtiyacınız vardır. Programınızda –

cevap

6

Belirttiğiniz önek, uygulamanın içindeki kaynak yoluna uygulanır. Dosyanın gerçek yoluna uygulanmaz. Doğru kaynak olmalıdır:

<RCC> 
    <qresource prefix="/images"> 
     <file>images/image.png</file> 
    </qresource> 
</RCC> 

Ve kaynak yolu :/images/images/image.png olacaktır.

Ayrıca RCC dosyasında prefix="/" belirtip ://images/image.png kaynak yolunu da kullanabilirsiniz. Bence daha kullanışlı. Eğer kaynak dosya verme bir takma adı kullanırsanız

+0

ikisini de denedim ama işe yaramayacak. – Xear

+0

tamam, her şey yolunda. .pro dosyasındaki değişikliklerden sonra qMake'i çalıştırmam gerekiyor. açıklamanız kesinlikle doğruydu. Teşekkürler – Xear

+0

QMake benim için tam olarak yapmadı, ama QtCreator'ın yeniden başlatması yaptı. –

5

: -:

"

: /images/image.png - sen yapıyorsun olarak

<RCC> 
<qresource prefix="/images"> 
    <file alias="image">images/image.png</file> 
</qresource> 
</RCC> 

Sonra resme erişebilir "