QDateEdit - 绘制 calendarPopup 的单元格

QDateEdit - paint cell of calendarPopup

我使用 Qt Designer 创建自定义表单和用户界面组件,并使用 Qt 的集成构建工具 uic,在构建应用程序时为它们生成代码。生成的代码包含表单的用户界面对象。

我有带有 QDateEdit 的 QDockWidget,我想绘制某个日期的单元格:

我想做这样的事情:

    date_to = self.dockwidget.findChild(QDateEdit, "date_to")
    painter = QPainter()
    painter.fillRect(QRect(25, 25, 25, 25), Qt.red)
    date_to.calendarWidget().paintCell(painter, QRect(25, 25, 25, 25), QDate(2018, 8, 2))

在这种情况下如何使用 paintCell

Virtual function:

def paintCell (painter, rect, date)

如果其他人需要,这里有解决方案:

QCalendarWidget.setDateTextFormat(QDate, QTextCharFormat)

    format = QTextCharFormat()
    format.setBackground(Qt.yellow)
    date_to = self.dockwidget.findChild(QDateEdit, "date_to")
    date_to.calendarWidget().setDateTextFormat(QDate(2019, 2, 2),format)

结果: