У меня есть 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());