我想为PyQt.QtGui.QCalendarWidget
. 我需要在一些日历单元格的底部添加一个简短的小文本,可以吗?如果是这样,有人能指出我正确的方向吗?
到目前为止,想法是继承QCalendarWidget
并覆盖它的paintCell
方法。但是我不知道在那里做什么。我试图查看 Qt 和小部件的代码,但它非常复杂,我没有找到他们实际绘制单元格的地方。所以我会很感激任何建议。
我想为PyQt.QtGui.QCalendarWidget
. 我需要在一些日历单元格的底部添加一个简短的小文本,可以吗?如果是这样,有人能指出我正确的方向吗?
到目前为止,想法是继承QCalendarWidget
并覆盖它的paintCell
方法。但是我不知道在那里做什么。我试图查看 Qt 和小部件的代码,但它非常复杂,我没有找到他们实际绘制单元格的地方。所以我会很感激任何建议。
你不需要重新实现绘画。只需调用默认实现并添加文本绘图:
class MyCalendar(QtGui.QCalendarWidget):
def __init__(self,parent=None):
QtGui.QCalendarWidget.__init__(self,parent)
def paintCell(self, painter, rect, date):
QtGui.QCalendarWidget.paintCell(self, painter, rect, date)
if date.day() % 5 == 0: # example condition based on date
painter.drawText(rect.bottomLeft(), "test")
您需要为小部件设置适当的高度,以确保单元格中有足够的空间来显示文本。