2

我是 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)

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

谁能解释我为什么会遇到这些问题?谢谢!

4

2 回答 2

1

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

this->setStyleSheet(" background-image: url(C:/test.jpg);");
于 2015-02-27T15:53:00.530 回答
1

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

于 2018-09-26T16:31:20.970 回答