Всем доброго времени суток.
У меня вопрос по отрисовки текста внутри ячейки.
Рисуем прямоугольник и внутри его вертикально хотим написать текст)))
Текст и прямоугольник отрисовываются замечательно,
но длина текста выходит за геометрические размеры прямоугольника, то текст всеравно отрисовывается.
Ниже приведен код.
Это нрмально? Если да, то как сделать так чтобы, если та часть текста, которая выходит за геометрические
параметры boundingRect() не отрисовывалась?
Спасибо!
C++ (Qt)
void Primitive::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option)
Q_UNUSED(widget)
QPen pen;
pen.setColor(color_text);
painter->setPen(pen);
painter->drawRect(rectf);
painter->fillRect(rectf.x() + 1, rectf.y() + 1, rectf.width() - 1, rectf.height() - 1, color_background);
painter->rotate(90);
QFont font;
font.setPixelSize(20);
painter->setFont(font);
painter->drawText(0, 0, QString("cell %1").arg(number, 0, 10));
}
QPainterPath Primitivel::shape() const
{
QPainterPath painterpath;
painterpath.addRect(rectf);
return painterpath;
}
QRectF Primitive::boundingRect() const
{
return rectf;
}