<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.
