From 897e04fa431d8dc0385007862b4a619d5d0aac0c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 14 Jan 2022 17:47:25 +0100 Subject: Add documentation to the plot example Amends bce1bfb3af99aeb24259df34d662e8fcf072d3fd. Task-number: PYSIDE-1605 Task-number: PYSIDE-1776 Change-Id: I28d081d718995e42c1b8fd5341d0ba59c5ed7ca0 Reviewed-by: Cristian Maureira-Fredes --- examples/widgets/painting/plot/doc/plot.png | Bin 0 -> 13030 bytes examples/widgets/painting/plot/doc/plot.rst | 36 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 examples/widgets/painting/plot/doc/plot.png create mode 100644 examples/widgets/painting/plot/doc/plot.rst (limited to 'examples/widgets') diff --git a/examples/widgets/painting/plot/doc/plot.png b/examples/widgets/painting/plot/doc/plot.png new file mode 100644 index 000000000..e5031e351 Binary files /dev/null and b/examples/widgets/painting/plot/doc/plot.png differ diff --git a/examples/widgets/painting/plot/doc/plot.rst b/examples/widgets/painting/plot/doc/plot.rst new file mode 100644 index 000000000..a63eaed87 --- /dev/null +++ b/examples/widgets/painting/plot/doc/plot.rst @@ -0,0 +1,36 @@ +Plot Example +============ + +The Plot example shows how to display a graph from data using an +`opaque container `_. + +It draws an sine graph using ``QPainter.drawPolyline()`` from a list of points. +The list of points is continuously updated, as is the case for a example for a +graph of an oscilloscope or medical patient monitor. +In this case, it makes sense from a performance point of view to avoid the +conversion of a Python list of data to a C++ list (``QList``) +for each call to the plot function ``QPainter.drawPolyline()``. +This is where opaque containers come into play. + +Instead of Python list of points, a ``QPointList`` is instantiated to store +the data. ``QPointList`` is an opaque container wrapping a ``QList``. +It can be passed to ``QPainter.drawPolyline()`` instead of a Python list of +points. + +The type is declared in the entry for the ``QList`` container type in the +type system file of the ``QtCore`` library: + +.. code-block:: xml + + + ... + + +In the ``shift()`` member function, new data are appended to the list while +old data moving out of the visible window are removed from the front of the +list. + +.. image:: plot.png + :width: 400 + :alt: Plot Screenshot -- cgit v1.2.3