【发布时间】:2013-10-03 18:52:56
【问题描述】:
我是 Qt 新手,遇到了一些问题!使用 QtCreator,我创建了一个简单的窗口,我现在正在尝试设置其背景图像。
四处搜索让我相信我应该使用 QT 样式表,在尝试了一些示例之后,我设法通过以下方式获得了背景图像:
this->setStyleSheet(" background-image: url(C:/test.jpg)");
在主图像的构造函数中。但是这个 url 引用显然很糟糕,所以我尝试使用资源。我的二维码是这样的:
<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)
它实际上在设计器预览中显示背景图像!但是一旦我启动应用程序,背景图像就消失了!
谁能解释我为什么会遇到这些问题?谢谢!
【问题讨论】:
-
这可能是插件问题。您可以尝试将图像从
.jpg格式更改为.png格式,看看是否有效。还有see this answer. -
试试
:/images/background.jpg。 -
我都试过了,都没有工作:( 编辑:我没有安装任何插件!
-
试试 url(qrc:/images/background.png)
-
@FrankOsterfeld 添加 qrc 没有帮助。然而,现在发生了一个奇怪的变化。现在,当我启动应用程序时,在设计器中设置样式表背景图像:url(:/images/image2.jpg) 可以工作,但不再显示在预览中。但是试图从这样的代码中添加它->setStyleSheet(" background-image: url(:/images/image2.jpg)");仍然不起作用,这是我最终想要做的