[Qt-interest] Keep Same QGraphicsItem's Pen Width Across Scaling
Ben Swerts
benswerts at telenet.be
Fri Oct 2 17:38:02 CEST 2009
Hi Josiah,
In the paint function of your custom QGraphicsItem you can retrieve the
transformation matrix of the painter (QPainter::transform). You can then
multiply the pen width with the inverse of the scaling value to obtain a
fixed width.
Hope it helps.
Greets,
Ben
> I've got a custom QGraphicsItem (simple box) that draws an outline
> around itself, say 3px wide. Great for "normal" live view. However, my
> app also renders an "icon" view of the scene that the box is in - this
> "icon" is about 96x96. Then there's also the "preview" view of the scene
> before it goes live, this is rendered about 320x240. The live scene is
> scaled approx 1:1, so its about 1024x768.
>
> What I'm wondering is if there's any way for my custom graphics item to
> find out the scale it's being rendered at so that it can adjust it's pen
> width accordingly inorder to render at approx 3px width regardless of
> scale? (The outline isn't always 3px - it can vary depending on various
> other factors [type of box, datapoint the box represents, etc]).
>
> Any ideas on how to find the scale of the scene from inside the paint
> method of my graphics item?
>
> Thanks!
> -josiah
More information about the Qt-interest-old
mailing list