<https://lh3.googleusercontent.com/-MBpjhb6BeBM/WTZqyxZ0XEI/AAAAAAAAAA4/AaHX_NtF6ckum3Zx_wRiG-lh09wDiMCLACLcB/s1600/low_level_pyqtgraph.jpeg>
Hi,

I've been using pyqtgraph as a quick plotting tool for a while and it has 
proven to be the only one that is fast enough for the tasks. So lets start 
with praise: I find pyqtgraph very helpful and useful. Thanks for providing 
this!


I'm currently in the process of building several custom plotting widgets. 
I'm having a bit of a hard time, since I don't really understand some of 
the design choices.

Reverse engineering with pyreverse ends mostly in either unreadable or 
uninformative diagrams. So I've started to work my way through the code bit 
by bit.

I don't fully understand the design decisions. From what I have gathered, 
the lowest level connection to Qt is like in the given drawing (wherever it 
may appear in this post). Blue are the Qt base classes. As an example I 
have drawn only the PlotWidget, not the other two widgets (ImageView and 
GraphicsLayoutWidget).

Now the questions:
 - Why is the direct access to GraphicsScene not available? This 
effectively removes the Control part from the MVC design of the QtGraphics 
framework? For example, in this way one has to keep references to all the 
items that are placed whereever on the widget to allow for modification.

 - Why is the QtGraphicsItem not the base class, or anyhow present? I can't 
really follow the argument in the code (of GraphicsItem.py)

 - Why are there widgets like HistogramLUTWidget, GradientWidget (the two 
I'm mostly toying with right now) or the GraphicsLayoutWidget that are only 
adapter-like placeholders for their respective (graphics)items?

 
Maybe others have struggled in similar ways like me. My own wish would be 
to have a toolkit, from which I could build custom data displays (like I'm 
trying right now) for numpy/scipy data. So to provide single elements (e.g. 
GraphicsItems), that are (almost) atomic; which then can be used to be 
placed freely in the corresponding containers. I can see that a lot of 
things are already there. But there is still some gap between the very nice 
and informative drawing from the documentation (e.g. 
http://www.pyqtgraph.org/documentation/_images/plottingClasses.png) and the 
actual implementation. The examples help, but without some more info on the 
hierarchy or maybe example(s) on how to construct a custom widget, things 
get a lot harder, than they should -- concerning how much effort and work 
already has been put into pyqtgraph.

Cheers,
Christoph 

PS: bad sign for a first post, but I'd like to apologize in advance for 
writing too complicated; I'm still working on how to express my ideas more 
clearly

-- 
You received this message because you are subscribed to the Google Groups 
"pyqtgraph" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/481b9dcc-5137-4bef-9a3c-239603bfb748%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to