PyQt5 QCalendarWidget - Setting Border to the Navigation Bar
Last Updated : 21 Jun, 2020
In this article we will see how we can set background color to the navigation bar of the QCalendarWidget. In calendar navigation bar is the bar at the top which consist of some buttons, setting background to QCalendarWidget is not like setting background color to the other widgets, calendar is widget which has many child i.e component we can set border to independent component as well. Below is how the navigation bar with background color will look like
In order to do this we will use setStyleSheet method with the QCalendarWidget object, below is the style sheet code
# importing librariesfromPyQt5.QtWidgetsimport*fromPyQt5importQtCore,QtGuifromPyQt5.QtGuiimport*fromPyQt5.QtCoreimport*importsys# QCalendarWidget ClassclassCalendar(QCalendarWidget):# constructordef__init__(self,parent=None):super(Calendar,self).__init__(parent)classWindow(QMainWindow):def__init__(self):super().__init__()# setting titleself.setWindowTitle("Python ")# setting geometryself.setGeometry(100,100,500,400)# calling methodself.UiComponents()# showing all the widgetsself.show()# method for componentsdefUiComponents(self):# creating a QCalendarWidget object# as Calendar class inherits QCalendarWidgetself.calendar=Calendar(self)# setting cursorself.calendar.setCursor(Qt.PointingHandCursor)# setting size of the calendarself.calendar.resize(350,240)# move the calendarself.calendar.move(10,10)# setting stylesheet# adding background color to the calendar's navigation bar# adding another background color when mouse hover over itself.calendar.setStyleSheet("QCalendarWidget QWidget# qt_calendar_navigationbar""{""background-color : lightgreen;""}""QCalendarWidget QWidget# qt_calendar_navigationbar::hover""{""background-color : cyan;""}")# create pyqt5 appApp=QApplication(sys.argv)# create the instance of our Windowwindow=Window()# start the appsys.exit(App.exec())