QWidget屏幕的背景图像拉伸

时间:2010-11-15 09:37:44

标签: qt

是否可以拉伸背景图像。 实际上我的图像大小为320X480,我想将此图像用作尺寸为360X640的QWidget屏幕的背景。

我尝试了以下内容:

1)。这里图像被拉伸为屏幕,但是带有另一个图像的按钮与主屏幕图像一起被加载:

ui->MainScreen->setStyleSheet("border-image: url(:/images/Main-screen.png);");

2)。此处图像未拉伸,但显示为图块:

ui->MainScreen->setStyleSheet("background-image: url(:/images/Main-screen.png); border: none");
ui->MainScreen->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred));
ui->MainScreen->setBackgroundRole(QPalette::Background);

对此有任何建议....!

...谢谢

3 个答案:

答案 0 :(得分:1)

我认为你的按钮获得与背景相同的图像的原因是因为样式表也应用于子窗口小部件(我认为)。在执行#1中使用的相同代码后,尝试将按钮的样式表设置为其他内容。孩子的样式表应该覆盖父母的样式表。

答案 1 :(得分:1)

尝试以下方法:

ui->MainScreen->setStyleSheet("QMainWindow {border-image: url(:/images/Main-screen.png);}");

这告诉Qt更改子树中所有QMainWindows的背景图像。来自ui-> MainScreen。如果未指定类类型或对象名称,则不会应用任何过滤器,并且每个子项都将获得背景图像。

答案 2 :(得分:1)

QWidget#QMainWindow { style; } 
#subclassmainclass)将样式设置为JUST子类之后

QWidget

它将完全符合您的要求。