QDateEdit-calendarPopup的绘制单元格

时间:2019-02-27 14:30:26

标签: python qt pyqt qdate

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

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

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(画家,矩形,日期)

1 个答案:

答案 0 :(得分: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