Seite 1 von 1

QGraphicsItem auf seiner Position skalieren

Verfasst: 21. August 2007 11:43
von hilby
moin Kollegen,

ich hab hier ein ferflixtes problem und komm nicht weiter.
Forumsuche und google halfen nicht weiter

ich will in ein GraphicView reinzoomen, aber die GraphicItems sollen auf dem Bildschirm die gleiche Grösse behalten.

ich habe es so versucht:

- QGraphicsView auf QGraphicsScene
- abgeleitete eigene QGraphicsItem - klasse mit folgender PaintFunktion:

Code: Alles auswählen

void pullPoint::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *)
{
    if ( isSelected())     painter->setPen(QPen(Qt::red, 0));
    else   painter->setPen(QPen(Qt::blue, 0));

    QRectF rectangle(0, 0, ownGraphWidget->radius, ownGraphWidget->radius);
    
    painter->drawRect(rectangle);
}
wenn ich nun die View skaliere beispielsweise mit

Code: Alles auswählen

scale((float)1.0/(float)1.1,(float)1.0/(float)1.1);
funktioniert das (gegen-) skalieren der Items, aber
blöderweise wandern sie dabei über die szene,
also die Positionen bleiben nicht fest

-> kann man GraphicItems eine feste Grösse unabhängig vom View geben ?

hat jemand schon sowas gebaut ? Tipps ? Anregungen ?

:roll: [/code]