如何使用QAbstractItemDelegate的绘画在QListVIew中的单元格中心设置QRect



我有QListVIew并委托绘制列表视图。我在单元格的中心画了一些文字。所以我这样做:

void Delegate::paint(QPainter *painter, const QStyledOptionViewItem        &option, const QModelIndex &index )
{
.
.
.
QRect textRect(option.rect.center(),QSize(option.rect.width(),option.rect.height());
paiter->drawText(textRect,text,QTextOption());

但它开始从中心绘画。如何使此输出居中?谢谢

它开始从中心绘制,因为你告诉它从中心开始对象。您的QRect建设:

QRect textRect(option.rect.center(),QSize(option.rect.width(),option.rect.height());

正在呼叫QRect(QPoint topLeft, QSize size)

我认为您要做的是将矩形的中心移动到您设置为左上角的点,如下所示:

textRect.moveCenter(option.rect.center());

相关内容

  • 没有找到相关文章

最新更新