Название: Рисование в делегате: Размещение текста по центру ячейки Отправлено: VAP от Май 05, 2010, 20:21 Доброго времени суток!
Прошу подсказки как разместить текст в делегате строго по центру ячейки. У меня рисуется немного левее центра. [code cpp] void ScaleItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { if (!index.isValid()) return; int data = index.data(Qt::DisplayRole).toInt(); QString text = index.data(Qt::DisplayRole).toString(); QSize sh = sizeHint(option, index); QFontMetrics fm = option.fontMetrics; if (data == 0) QPixmap pm(":images/red.png"); painter->drawPixmap(option.rect, pm); /*в таком варианте рисуется в верхнем левом углу painter->drawText(QRect(option.rect.x(), option.rect.y(), sh.width(), sh.height()), Qt::AlignCenter, elidedText(fm, sh.width(), Qt::ElideMiddle, text)); */ /*нашел на форуме, но рисуется не строго по центру*/ painter->drawText(option.rect, QString("%1").arg(text), QTextOption(Qt::AlignCenter)); } [/code cpp] Название: Re: Рисование в делегате: Размещение текста по центру ячейки Отправлено: VAP от Май 06, 2010, 19:27 Ради интереса попробовал в версии Qt 4.3.0 и получил идеальный результат:
(http://www.imageup.ru/img116/0605341010.jpg) А в Qt 4.5.0 получается вот так: (http://www.imageup.ru/img116/06051341013.jpg) Мелочь, но не приятная, однако. |