QDateEdit - calendarPopup的绘制单元格

问题描述 投票:1回答:1

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

我有QDockWidget与QDateEdit,我想画一些日期的单元格:

enter image description here

我想做这样的事情:

    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

虚函数:

def paintCell(画家,矩形,日期)

python qt pyqt qdate
1个回答
3
投票

这是解决方案,如果其他人需要它:

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)

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.