Update eines QGraphicsItem

Alles rund um die Programmierung mit Qt
Antworten
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Update eines QGraphicsItem

Beitrag 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
Dateianhänge
DemoText.png
DemoText.png (3.93 KiB) 2441 mal betrachtet
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag 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)
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag 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
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Im übrigen vielen Dank, nachdem ich das boundingRect vergrößert habe funktionierts nun :-)

LG NoRulez
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Update eines QGraphicsItem

Beitrag 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
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

:oops:

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

LG NoRulez
Antworten