Подтвердить что ты не робот

Как создать область кнопки QWizard?

У меня есть приложение со стилями, установленными в файле qss. Все фоны виджетов теперь более темного цвета, а кнопки тоже имеют свои собственные стили.

Все это работает во всем программном обеспечении, за исключением QWizard, который, как представляется, имеет свою собственную область кнопок в нижней части мастера с цветным виджетами по умолчанию qt, которые все еще применяются к нему.

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

enter image description here

4b9b3361

Ответ 1

Если вы установили стиль мастера ClassicStyle, то QWidgets доступны для раскраски с QSS.

wizard->setWizardStyle(QWizard::ClassicStyle);

По умолчанию VistaStyle живопись жестко закодирована в источнике QWizard следующим образом:

if (wizardPrivate->isVistaThemeEnabled(QVistaHelper::VistaBasic)) {
    if (window()->isActiveWindow())
        painter.setPen(QPen(QBrush(QColor(169, 191, 214)), 0)); // ### hardcoded for now
    else
        painter.setPen(QPen(QBrush(QColor(182, 193, 204)), 0)); // ### hardcoded for now
    painter.drawLine(0, 0, width(), 0);
}

Код в Github