Растяжение фонового изображения и непрозрачность не работает - PullRequest
1 голос
/ 26 июня 2019

Я пытаюсь немного стилизовать свое приложение.Поэтому я добавил фоновое изображение и хочу, чтобы оно было эластичным, без повторов и с небольшой непрозрачностью.Я использую этот код:

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

Но непрозрачность и растяжение не работают.

1 Ответ

2 голосов
/ 27 июня 2019

Непрозрачность поддерживается только для QTooltip в QSS.Чтобы растянуть фон, вы можете попробовать использовать border-image вместо background-image, например:

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

Но будьте осторожны с соотношением сторон.Для непрозрачности вы можете попробовать применить QGraphicsOpacityEffect с этим (непроверенным) фрагментом кода:

QGraphicsOpacityEffect* op = new QGraphicsOpacityEffect(this);
op.setEnabled(true);
op.setOpacity(0.5); // 0 is transparent, 1 means opaque
this->centralWidget()->setGraphicsEffect(op);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...