Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
191 views
in Technique[技术] by (71.8m points)

qt - Cannot load image for QLabel background

my qrc file defined as follows,

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

I want to use the file background.png as my label's background. I did like this,

label->setStyleSheet( "background-image: url(:/images/background.png);" );

but it cannot set the image as background. Is it anyway to know why label cannot load the image? Cannot find the image?

thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You said you want the /images prefix for the Resources/images/background.png file, so in the resource system the file is available as

:/images/Resources/images/background.png

If you want also to simplify the file's path, use an alias:

<file alias="background.png">Resources/images/background.png</file>

This will make it available under

:/images/background.png

For the future, learn how to debug such simple problems yourself: just putting

QDirIterator i(":/", QDirIterator::Subdirectories);
while (i.hasNext())
    qDebug() << i.next();

in your main function will tell you how your resource hierarchy looks like, and so if you're using a wrong resource path.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...