gpt4 book ai didi

c++ - 如何用QAbstractItemDelegate的画图在QListVIew的单元格中心设置QRect?

转载 作者:行者123 更新时间:2023-11-28 06:28:10 25 4
gpt4 key购买 nike

我有 QListVIew 和委托(delegate)来绘制 ListView 。我在单元格的中心画了一些文字。所以我这样做:

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());

关于c++ - 如何用QAbstractItemDelegate的画图在QListVIew的单元格中心设置QRect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28151498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com