Растягивание фонового изображения для экрана QWidget - PullRequest
1 голос
/ 15 ноября 2010

Можно ли растянуть фоновое изображение. На самом деле у меня есть изображение размером 320X480, я хочу использовать это изображение в качестве фона для экрана QWidget размером 360X640.

Я пробовал со следующим:

* +1004 * 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 ]

1 голос
/ 25 февраля 2013

Попробуйте следующее:

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

Это говорит Qt изменить фоновое изображение всех QMainWindows в дочернем дереве.от ui-> MainScreen.Если вы не укажете тип класса или имя объекта, фильтр не будет применен, и каждый ребенок получит фоновое изображение.

1 голос
/ 24 апреля 2013
QWidget#QMainWindow { style; } 

#subclass после mainclass (QWidget) устанавливает стиль только для подкласса

Это сделает именно то, что вы пытаетесь сделать.

1 голос
/ 15 ноября 2010

Я думаю, причина того, что ваша кнопка получает то же изображение, что и фон, заключается в том, что таблицы стилей применяются и к дочерним виджетам (я думаю).Сделав тот же код, который вы использовали в # 1, попробуйте установить таблицу стилей кнопки на что-то другое.Таблица стилей ребенка должна переопределять таблицу стилей родителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...