2012-06-21 22:00:04 -04:00
|
|
|
# -*- coding: utf-8 -*-
|
2013-02-24 23:09:03 -05:00
|
|
|
"""
|
2013-04-07 16:18:58 -04:00
|
|
|
Very simple example demonstrating RemoteGraphicsView.
|
|
|
|
|
|
|
|
This allows graphics to be rendered in a child process and displayed in the
|
|
|
|
parent, which can improve CPU usage on multi-core processors.
|
2013-02-24 23:09:03 -05:00
|
|
|
"""
|
2012-06-21 22:00:04 -04:00
|
|
|
import initExample ## Add path to library (just for examples; you do not need this)
|
2013-04-07 16:18:58 -04:00
|
|
|
|
2012-06-21 22:00:04 -04:00
|
|
|
from pyqtgraph.Qt import QtGui, QtCore
|
|
|
|
import pyqtgraph as pg
|
2013-02-24 23:09:03 -05:00
|
|
|
from pyqtgraph.widgets.RemoteGraphicsView import RemoteGraphicsView
|
2012-06-21 22:00:04 -04:00
|
|
|
app = pg.mkQApp()
|
|
|
|
|
2013-04-07 16:18:58 -04:00
|
|
|
## Create the widget
|
2013-11-06 23:14:27 -05:00
|
|
|
v = RemoteGraphicsView(debug=False) # setting debug=True causes both processes to print information
|
|
|
|
# about interprocess communication
|
2012-06-21 22:00:04 -04:00
|
|
|
v.show()
|
2013-02-24 23:09:03 -05:00
|
|
|
v.setWindowTitle('pyqtgraph example: RemoteGraphicsView')
|
2012-06-21 22:00:04 -04:00
|
|
|
|
2013-02-24 23:09:03 -05:00
|
|
|
## v.pg is a proxy to the remote process' pyqtgraph module. All attribute
|
|
|
|
## requests and function calls made with this object are forwarded to the
|
2013-04-07 16:18:58 -04:00
|
|
|
## remote process and executed there. See pyqtgraph.multiprocess.remoteproxy
|
|
|
|
## for more inormation.
|
2012-06-22 22:10:37 -04:00
|
|
|
plt = v.pg.PlotItem()
|
|
|
|
v.setCentralItem(plt)
|
|
|
|
plt.plot([1,4,2,3,6,2,3,4,2,3], pen='g')
|
2012-06-21 22:00:04 -04:00
|
|
|
|
|
|
|
|
|
|
|
## Start Qt event loop unless running in interactive mode or using pyside.
|
2012-12-05 00:25:45 -05:00
|
|
|
if __name__ == '__main__':
|
|
|
|
import sys
|
|
|
|
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
|
|
|
|
QtGui.QApplication.instance().exec_()
|