QT背景图片未显示使用样式表

时间:2011-04-28 12:57:52

标签: c++ qt background-image

我正在使用QT for C ++,我设置了这个样式表代码:

QFrame {
    background-image: url(img.png);
}

图片没有显示!它位于QT目录内的调试目录中。为什么不显示?

编辑:

甚至不适用于资源系统

编辑2:

它现在显示,但仅当我使用QWidget而不是QFrame时。唯一的问题是当我调整窗口大小时图像重复。如何让它正常拉伸?

编辑3:

好的,我现在使用JUST border-image并且它会拉伸。然而,它是微不足道的(如果你移动得有点快,你可以超过原始图像),而且非常慢(如果你没有足够慢地调整大小,它会口吃,直到它设法拉伸会有一个白色的间隙)。我不能让它正常调整大小吗? = /

使用此样式表代码:

QWidget {
border-image: url(:/images/img.png);
}

编辑4:

好吧,如果我已经在它...图像中的可点击区域怎么样?这可能吗?

编辑5:

来吧......一个人?这很重要

2 个答案:

答案 0 :(得分:4)

将您的图像添加到应用程序的资源(.qrc文件)中。 然后在样式表中引用它:

QFrame
{
 background-image: url(:/Style/img.png);
}

答案 1 :(得分:0)

我认为您应该使用Qt资源系统而不是在文件夹中包含图像。图片也可以在没有网址功能的情况下进行拼写。