背景图像拉伸和不透明度不起作用

时间:2019-06-26 09:27:06

标签: qt styles

我正在尝试对应用程序进行一些样式设置。因此,我添加了背景图像,并且希望它具有可拉伸性,且无需重复且具有一些不透明性。我正在使用以下代码:

this->centralWidget()->setStyleSheet("background-image: url(:/image.jpg) 
                                     0 0 0 0 
                                     stretch stretch; 
                                     opacity: 50; 
                                     background-repeat: no-repeat;
                                     background-position: center;");

但是不透明和拉伸似乎不起作用。

1 个答案:

答案 0 :(得分:2)

仅QSS中的QTooltip支持不透明度。 要拉伸背景,您可以尝试使用 border-image 代替背景图像,例如:

this->centralWidget()->setStyleSheet("border-image: url(:/image.jpg) 
0 0 0 0 stretch stretch;");

但是请注意长宽比。 对于不透明,您可以尝试使用此{unested)代码段应用QGraphicsOpacityEffect

QGraphicsOpacityEffect* op = new QGraphicsOpacityEffect(this);
op.setEnabled(true);
op.setOpacity(0.5); // 0 is transparent, 1 means opaque
this->centralWidget()->setGraphicsEffect(op);