Qt:使用样式表设置背景图像不适用于资源

时间:2013-10-03 18:52:57

标签: qt qt5 qtgui

我是Qt的新手并且遇到了一些问题!使用QtCreator,我创建了一个简单的窗口,我现在正在尝试设置背景图像。

搜索引导我相信我应该使用QT样式表,在尝试了一些例子后,我设法通过使用以下方式获得背景图像:

this->setStyleSheet(" background-image: url(C:/test.jpg)");

在主图像的构造函数中。但是这个url引用显然非常糟糕,所以我尝试使用资源。我的qrc看起来像这样:

<RCC>
    <qresource prefix="/images">
        <file alias="background.jpg">image2.jpg</file>
    </qresource>
</RCC>

现在尝试使用

设置样式表
this->setStyleSheet(" background-image: url(:/images/image2.jpg)");

this->setStyleSheet("background-image: url(:/background.jpg)");

或两者的任何组合都不起作用!

我发现的一个奇怪的事情是当我进入设计器窗口并转到属性窗口并将主窗口的样式表设置为

 background-image: url(:/images/image2.jpg)

它实际上在设计器预览中显示背景图像!但是一旦我启动应用程序,背景图像就消失了!

任何人都能解释为什么我会遇到这些问题吗?谢谢!

2 个答案:

答案 0 :(得分:1)

我认为您需要做的只是在引号内添加分号。

this->setStyleSheet(" background-image: url(C:/test.jpg);");

答案 1 :(得分:1)

要在qt中使用图片,必须将其添加到.qrc文件中。