I'm working on a QGraphicsWidget version of something I already have a QWidget 
version of; namely because I need to add some features where I need to overlay 
items, lines, and text in a way that QWidget does not support (namely the 
addition of the text information) - presently I'm just focused on getting to 
the point of equivalence with what I had under QWidget.  In doing so I have 
taken my one QWidget and converted it into a series of QGraphicsWidgets, and 
added a parent QGraphicsWidget that will contain at most two of the sub-widgets 
- the data being drawn, and its ideal overlay. (I originally had just one 
QGraphicsWidget but found it simplified things if I split stuff out. I figured 
this would be an advantage since I can overlay stuff in QGraphics* where I 
could not under QWidget.)


Question #1: The parent widget has two widgets within it. At this time I'm not 
using a QGraphicsLayout of any sort as none seem to match doing the overlay I 
need - that is, the two widgets will be in different Z-levels (1 and 2), and if 
both are visible then they will be nearly the same coordinates in their parent 
coordinate system. Or am I missing something and this would be supported by one 
of the existing QGraphicsLayouts? Do I really even need a QGraphicsLayout to 
manage these, or is there a simpler way to do it? I'm thinking the geometry 
would be that of the farthest extremities of the combination of the two widgets 
when both are visible, or just the one widget when only one is visible. The 
parent widget will likely sit in a QGraphicsLayout of some sort when I am done.


Question #2: I'm having an issue with scaling of the drawing. If I understand 
QTransform::scale() correctly, then it maps the coordinates being used from one 
coordinate system to another. I am trying to keep the drawing within the 
boundaries of the widget itself, but using the 
boundingRect().contains(pointToDraw) does not keep any points from being drawn 
when the leave the boundingRect(). I didn't have to worry about this with 
QWidget as QWidget clipped what was being drawn (or at least displayed) on the 
boundaries of the widget; while QGraphicsWidget doesn't do that - it'll gladly 
leave artifacts. Am I missing an easy way to keep it from leaving artifacts?

TIA,

Ben

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to