Этот вопрос относится кПрозрачный QWidget/QScrollArea установка стиль фона не имеет никакого эффекта
- http://www.qtcentre.org/threads/18151-QScrollArea-misbehaving-background-style
- http://www.qtforum.org/article/34443/cannot-change-background-color-of-a-qscrollarea-with-setstylesheet.html
Я спрашиваю здесь, потому что я считаю, что SO сообщество может иметь способ чтобы исправить это поведение.
Так что я хотел бы установить цвет фона ScrollArea как прозрачным, так и с использованием специального фонового изображения, так как оно будет содержать некоторые баннеры. Я получил его в Qt Creator (Дизайнер) уже! :-):
Но при развертывании приложения на тренажере не будет работать, то Аре остается серый, темно-серый:
Вот мой макет дерева:
А вот таблица стилей я использую (прилагается & набор в MainWindow):
QMainWindow {
background: transparent url(:/ui/designs/images_from_android/bg_plain_empty.png) top left;
}
QWidget#centralWidget {
background-color: transparent;
}
QPushButton {
color: red;
border: 1px solid green;
}
QFrame#top_header {
background: transparent url(:/ui/designs/images_from_android/bg_title_bar_landscape.png) top left repeat-x;
}
QWidget#top_banner_scroll1,
QWidget#top_banner_scroll2 {
background: transparent url(:/ui/designs/images_from_android/stripe_bg.png) top left repeat-x;
}
Это весьма озадачивает. И поскольку Qt Designer показывает мне правильный дизайн ...
хотя это сделает все дети прозрачна, что не имеют специализированной таблицы стилей (thoughthough можно упаковать дети в другом контейнере, который имеет правильные таблицы стилей) –
Да, childern наследует таблицу стилей родителя, если у них нет собственной таблицы стилей. –
Ответ Johannes работает правильно, не затрагивая всех детей в области прокрутки. –