python — стиль QCalendar. Атрибут для отключенных предметов

В Qt и, в частности, в QCalendarWidget отключенные (не кликаемые) даты по умолчанию имеют серый фон. Однако мне нужно стилизовать их с помощью файла QSS.

Моя проблема в том, что я не могу найти атрибут в API Qt. Например, элементы для выбора и вообще могут быть стилизованы как таковые

QAbstractItemView {
color:#444;
alternate-background-color: #eee;
selection-background-color: #0F4A8C;
selection-color:#fff;
}

Любое предложение, как я могу установить цвет фона отключенного элемента?

1

Решение

Это может сработать.

QAbstractItemView :disabled {
color:#444;
alternate-background-color: #eee;
selection-background-color: #0F4A8C;
selection-color:#fff;
}

Смотрите также здесь http://doc.qt.io/qt-4.8/stylesheet-examples.html

0

Другие решения

По-видимому, для дат, которые находятся вне диапазона, вы не можете их стилизовать, и вам нужно перезаписать QCalendar paintCell(painter, rect, date) функционировать так:

class CustomCalendarWidget(QtGui.QCalendarWidget):
""" Calendar widget which overwrites the out of date drawing """def paintCell(self, painter, rect, date):
if not self.minimumDate() <= date <= self.maximumDate():
painter.setBrush(QtGui.QBrush(Qt.lightGray))
painter.setPen(QtGui.QPen(Qt.lightGray))
painter.drawRect(rect)
painter.setPen(QtGui.QPen(Qt.gray))
painter.drawText(rect, Qt.AlignHCenter | Qt.AlignVCenter, str(date.day()))
else:
super(CustomCalendarWidget, self).paintCell(painter, rect, date)
0

По вопросам рекламы [email protected]