QDateEdit - нарисовать ячейку calendarPopup - PullRequest
0 голосов
/ 27 февраля 2019

Я создаю пользовательские компоненты формы и пользовательского интерфейса с помощью 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 (художник, прямоугольник, дата)

1 Ответ

0 голосов
/ 27 февраля 2019

вот решение, если кому-то еще это понадобится:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...