Neste artigo, veremos como podemos definir a cor de fundo para o filho QWidget do QCalendarWidget. No calendário, QWidget é o filho que controla a parte máxima de todo o widget, definir a cor de fundo para QCalendarWidget não é como definir a cor de fundo para outros widgets, o calendário é o widget que tem muitos filhos, ou seja, um componente que podemos definir a borda como um componente independente também .

Para fazer isso, usaremos o setStyleSheetmétodo com o objeto QCalendarWidget, abaixo está o código da folha de estilo

QCalendarWidget QWidget
{
cor de fundo: verde claro;
}

Abaixo está a implementação

from PyQt5.QtWidgets import * 
from PyQt5 import QtCore, QtGui 
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys 
class Calendar(QCalendarWidget): 
  
    
    def __init__(self, parent = None): 
        super(Calendar, self).__init__(parent) 
  
  
  
class Window(QMainWindow): 
  
    def __init__(self): 
        super().__init__() 
        self.setWindowTitle("Python ") 
        self.setGeometry(100, 100, 500, 400) 
        self.UiComponents() 
        self.show() 
  
  
    
    def UiComponents(self): 
      self.calendar = Calendar(self) 
        self.calendar.setCursor(Qt.PointingHandCursor) 
        self.calendar.resize(350, 240) 
        self.calendar.move(10, 10) 
      self.calendar.setStyleSheet("QCalendarWidget QWidget"
                                    "{"
                                    "background-color : lightgreen;"
                                    "}"
                                    ) 
  
  
  
App = QApplication(sys.argv) 
window = Window() 
sys.exit(App.exec()) 

Resultado :