PyQt5 日历小部件子项

PyQt5 Calendar Widget Children

我想更改日历小部件的样式;但是,我无法更改月份下拉菜单的背景(我猜是 ComboBox)。'Dec 2021' 文本的两侧也有一些深灰色的矩形。我怎样才能改变它们呢?提前致谢。

这是我到目前为止所做的;

self.dateEdit.setStyleSheet(
        f"QDateEdit{{font-size: {int(settings['FONT_SIZE_PRIMARY']*0.6)}px; font-family: {settings['FONT']};\
    color: {settings['COLOR_PRIMARY']};background-color: {settings['COLOR_BG_PRIMARY']};}}"
        f"QCalendarWidget{{font-size: {int(settings['FONT_SIZE_SECONDARY']*0.7)}px;\
        font-family: {settings['FONT']};}}"
        f"QAbstractItemView{{background-color: {settings['COLOR_PRIMARY']};}}"
    )

月份选择弹出窗口实际上是一个QMenu,所以你需要使用合适的选择器。

导航栏有一个硬编码的对象名称 (qt_calendar_navigationbar),因此您可以使用 #id 选择器。

QMenu {
    background: orange;
}
QMenu::item:selected {
    background: yellow;
    border-radius: 2px;
}
#qt_calendar_navigationbar {
    background: rgb(255, 168, 88)
}

导航栏中的所有按钮都有对象名称(请务必查看来源以检查这些名称),因此您可以单独设置它们的样式:

  • qt_calendar_prevmonth
  • qt_calendar_nextmonth
  • qt_calendar_monthbutton
  • qt_calendar_yearbutton
  • qt_calendar_yearedit