Seite 1 von 1

Update eines QGraphicsItem

Verfasst: 18. August 2009 08:36
von NoRulez
Hey @all,

für mein Projekt dachte ich ein QGraphicsItem zu überladen und darin die paint() Methode neu zu implementieren.
Was soweit funktioniert, nur nachdem ich Text auch im Item drinnen habe wird dieser Verzehrt. Obwohl ich schon probiert habe dies mit

Code: Alles auswählen

QApplication::processEvents();
zu überwinden.

Hier noch ein bissl Code

Code: Alles auswählen

void MyItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {
    // Draw the pixmap
    //painter->drawPixmap(...);
 
    // Draw the item text
    painter->drawText(QRectF(-_pixmap.width(), 5, _pixmap.width(), 25), Qt::AlignHCenter, "Demotext");

    // Funktioniert genau so wenig
    //QApplication::processEvents();
}
Anbei ist ein Screenshot, damit man sieht wie es aussieht.

LG NoRule

Verfasst: 18. August 2009 08:46
von franzf
Typisches Problem im boundingRect() ;)
Gib das Rect zurück, in dem der Text wirklich komplett drinnen liegt, und dein Text wird nicht mehr "verzehrt" :) (Wusste gar nicht dass QGraphicsView so hungrig ist. Aber die Hälfte liegen lassen... da sind ja meine Katzen besser :P SCNR)

Verfasst: 18. August 2009 08:49
von NoRulez
Danke werde ich versuchen

Was jedoch meinst Du mit
"(Wusste gar nicht dass QGraphicsView so hungrig ist. Aber die Hälfte liegen lassen... da sind ja meine Katzen besser SCNR)"?

LG NoRulez

Verfasst: 18. August 2009 08:56
von NoRulez
Im übrigen vielen Dank, nachdem ich das boundingRect vergrößert habe funktionierts nun :-)

LG NoRulez

Re: Update eines QGraphicsItem

Verfasst: 18. August 2009 08:57
von franzf
NoRulez hat geschrieben:Was jedoch meinst Du mit
"(Wusste gar nicht dass QGraphicsView so hungrig ist. Aber die Hälfte liegen lassen... da sind ja meine Katzen besser SCNR)"?
NoRulez hat geschrieben:Was soweit funktioniert, nur nachdem ich Text auch im Item drinnen habe wird dieser Verzehrt.
Das sollte ein Witz sein GRML...
Ich weiß dass du meintest "verzerrt". Verzehren ist für mich essen. Und die ganzen Textfetzen schauen doch auch irgendwie wie angeknabbert aus :P

Verfasst: 18. August 2009 09:29
von NoRulez
:oops:

Sorry hatte Stress, natürlich meinte ich "verzerrt".

LG NoRulez