Изменить цвет фона в определенном виджете Qt Stacked Widget

Я разрабатываю приложение Qt с использованием Qt Creator, основанное на сложенном виджете. Я хотел бы независимо изменить цвет фона каждой страницы сложенного виджета (например, первая страница синяя, вторая страница красная и т. Д.). Тем не менее, когда я добавляю background-color: на вкладке styleSheet в создателе Qt результат состоит в том, что все страницы сложенного виджета получают этот цвет фона. Есть ли способ установить разные цвета фона для каждой страницы?

2 ответа

Решение

Вы можете сделать это за виджет:

#page1 {
    background-color: blue;
}
#page2 {
    background-color: red;
}

куда #page1 а также #page2 имена объектов, найдите их на боковой панели инспектора объектов в Qt Creator.

// yep, you can change it in constructor of your widget.
YourWidget::YourWidget(QWidget *parent):QWidget(parent),ui(new Ui::PageControl)
{
    ui->setupUi(this);
    QPalette background(palette());
    background.setColor(QPalette::Background, Qt::black);
    this->setAutoFillBackground(true);
    this->setPalette(background);
}
Другие вопросы по тегам