Z-Ebene bei QGraphicsItem

Alles rund um die Programmierung mit Qt
Antworten
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Z-Ebene bei QGraphicsItem

Beitrag von slash-ex »

Ich habe ein QGraphicsItem überladen. Nun würde ich den Text allerdings eine Z-Ebene höher zeichnen als den Rest. Ist das möglich?

Code: Alles auswählen

    float   fTextBoxHeight = 24.f;
    QRectF  boundingEdge(m_BoundingRect.x(), m_BoundingRect.y(), m_BoundingRect.width(), m_BoundingRect.height()+fTextBoxHeight);
    QRectF  textRect    (m_BoundingRect.x(), m_BoundingRect.y()+m_BoundingRect.height(), m_BoundingRect.width(), fTextBoxHeight);

    QLinearGradient linearGrad(QPointF(0, m_BoundingRect.y()), QPointF(0, m_BoundingRect.y()+m_BoundingRect.height()/2));
    linearGrad.setSpread(QGradient::ReflectSpread);
    linearGrad.setColorAt(0, Qt::darkGray);
    linearGrad.setColorAt(1, Qt::lightGray);

    painter->setPen(QPen(Qt::black, 0));
    painter->setBrush(Qt::NoBrush);
    painter->drawRect(boundingEdge);

    painter->setPen(Qt::NoPen);
    painter->setBrush(Qt::lightGray);
    painter->drawRect(textRect);

    painter->setPen(Qt::NoPen);
    painter->setBrush(linearGrad);
    painter->drawRect(m_BoundingRect);

    QFont font; font.setPixelSize(18);
    painter->setPen(QPen(Qt::black, 0));
    painter->setFont(font);

    painter->drawText(textRect, Qt::AlignCenter, m_sName);
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Re: Z-Ebene bei QGraphicsItem

Beitrag von slash-ex »

Ich machs jetzt auf die Art und Weise, die ich eigentlich vermeiden wollte:
Ich habe mir ein Label-GraphicsItem gemacht. mein anderes Item hat nen pointer auf das Label und aktualisiert gegebenenfalls seine position.
Die Z-Ebene von dem Item ist dann eine andere, sieht allerdings immernoch wie ein Item aus. Mit dem Vorteil, dass andere Items wie gewünscht von dem Label überzeichnet werden können.
Antworten