Как создать область кнопки QWizard?
У меня есть приложение со стилями, установленными в файле qss. Все фоны виджетов теперь более темного цвета, а кнопки тоже имеют свои собственные стили.
Все это работает во всем программном обеспечении, за исключением QWizard, который, как представляется, имеет свою собственную область кнопок в нижней части мастера с цветным виджетами по умолчанию qt, которые все еще применяются к нему.
Я просмотрел различные компоненты, к которым я могу применить стили в QWizard, но ни одна из них, похоже, не является этой областью кнопок в нижней части формы, просто интересно, встретил ли кто-нибудь это раньше и выяснил, какой объект я необходимо применить стиль для изменения цвета этой области.
![enter image description here]()
Ответы
Ответ 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