2
protected:
  virtual void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
  {
    QHeaderView::paintSection(painter, rect, logicalIndex);
    painter->drawRect(2, 2, 10, 10);
  }

長方形は塗装ではありません。しかし、paintSection を削除すると、それはペイントです。base paintSection を呼び出した後、四角形を描画する必要があります。

4

2 に答える 2

0

このあなたの質問で答えられたようにrect、あなたが描くべき領域です。
この領域の外にペイントすると、他のセルのペイントによって描画が消去される可能性があります。

したがってrect、四角形を描画するために使用します。

painter->drawRect(rect.adjusted(2, 2, -2 , -2));
于 2014-08-26T09:12:26.220 に答える