Как нарисовать текст в производном от класса QHeaderView

Мне нужно нарисовать текст в производном от класса QHeaderView. Но этот код не работает.

void HeaderView::paintSection(QPainter *painter, const QRect &, int) const
{
    painter->drawText(0, 0, "abcde");
}

1 ответ

Решение

В документации сказано:

Рисует секцию, заданную данным logicIndex, используя данный художник и прямоугольник.

Это означает, что вы должны использовать прямоугольник, получая в качестве параметра:

void HeaderView::paintSection(QPainter *painter, const QRect& rect, int) const
{
    painter->drawText(rect, Qt::AlignCenter, "abcde");
}
Другие вопросы по тегам