[pyqtgraph] Re: RemoteGraphicsView, adding items, and signals/slots

2018-03-02 Thread Geoffrey Barrett
Still working on this issue if anyone has tried to remotely plot the 
crosshair example.

On Friday, December 8, 2017 at 11:10:53 AM UTC-5, Geoffrey Barrett wrote:
>
> Hello,
>
> I am trying to do something similar to the *crosshair.py* example but 
> with *RemoteGraphicsView.* 
>
> Hypothetically if I have something similar to this:
>
> from PyQt4 import QtGui, QtCore
> import numpy as np
> import pyqtgraph as pg
> import pyqtgraph.widgets.RemoteGraphicsView
> import sys
>
> class main_window(QtGui.QWidget):
>"""class that will serve as main window"""
>def __init__(self):
>super(main_window, self).__init__()
>
># view 1
>
>self.view1 = pg.widgets.RemoteGraphicsView.RemoteGraphicsView()
>self.plot1 = self.view1.pg.PlotItem()
>self.view1.setCentralItem(self.plot1)
>
># view 2
>self.view2 = pg.widgets.RemoteGraphicsView.RemoteGraphicsView()
>self.plot2 = self.view2.pg.PlotItem()
>self.view2.setCentralItem(self.plot2)
>
> 
>
># add Layout to widget
>
>layout = QtGui.QVBoxLayout()
>
>layout.addWidget(self.view1)
>layout.addWidget(self.view2)
>
>self.setLayout(layout)
>
>self.show()
>
>self.plot()
>
>def plot(self):
>
>"""Plot random stuff for test"""
>
>t = np.arange(1)/500
>
>data = np.random.rand(1, len(t))
>
>self.plot1.plot(t, data.flatten())
>self.plot2.plot(t, data.flatten())
>
> 
># add linear region item
># self.lr = pg.LinearRegionItem()  # this doesn't work it seems
># self.plot1.addItem(self.lr)
># RuntimeError: super-class __init__() of type InfiniteLine was never 
> called
>
>self.lr = self.view2.pg.LinearRegionItem()  # this appears to work
>self.plot2.addItem(self.lr)
>
>self.lr_proxy = pg.multiprocess.proxy(self.update_view1, 
> callSync='off', autoProxy=True)
>self.lr.sigRegionChanged.connect(self.lr_proxy)
>
>
>
>def update_view1(self):
># This doesn't appear to be called at all
>minX, maxX, = self.lr.getRegion()
>self.view2.vb.setXRange(minX, maxX)
>
> def run():
>
> app = pg.mkQApp()
> win = main_window()
> sys.exit(app.exec_())
>
>
> if __name__ == '__main__':
> run()
>
>
> When you move the linear region nothing happens so there's something 
> wrong. I used a proxy to connect the update_view1 slot to the 
> sigRegionChanged signal because I was getting a pickling error otherwise. 
> Any advice would be appreciated.
>
> -Geoff
>

-- 
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 pyqtgraph+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/0f76-4cd4-4967-855e-20c521b5875c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[pyqtgraph] Re: RemoteGraphicsView, adding items, and signals/slots

2017-12-08 Thread Geoffrey Barrett

Also should be the following (I mistakenly put view2 instead of view1:

def update_view1(self):
   # This doesn't appear to be called at all
   minX, maxX, = self.lr.getRegion()
   self.plot1.vb.setXRange(minX, maxX)

On Friday, December 8, 2017 at 11:10:53 AM UTC-5, Geoffrey Barrett wrote:
>
> Hello,
>
> I am trying to do something similar to the *crosshair.py* example but 
> with *RemoteGraphicsView.* 
>
> Hypothetically if I have something similar to this:
>
> from PyQt4 import QtGui, QtCore
> import numpy as np
> import pyqtgraph as pg
> import pyqtgraph.widgets.RemoteGraphicsView
> import sys
>
> class main_window(QtGui.QWidget):
>"""class that will serve as main window"""
>def __init__(self):
>super(main_window, self).__init__()
>
># view 1
>
>self.view1 = pg.widgets.RemoteGraphicsView.RemoteGraphicsView()
>self.plot1 = self.view1.pg.PlotItem()
>self.view1.setCentralItem(self.plot1)
>
># view 2
>self.view2 = pg.widgets.RemoteGraphicsView.RemoteGraphicsView()
>self.plot2 = self.view2.pg.PlotItem()
>self.view2.setCentralItem(self.plot2)
>
> 
>
># add Layout to widget
>
>layout = QtGui.QVBoxLayout()
>
>layout.addWidget(self.view1)
>layout.addWidget(self.view2)
>
>self.setLayout(layout)
>
>self.show()
>
>self.plot()
>
>def plot(self):
>
>"""Plot random stuff for test"""
>
>t = np.arange(1)/500
>
>data = np.random.rand(1, len(t))
>
>self.plot1.plot(t, data.flatten())
>self.plot2.plot(t, data.flatten())
>
> 
># add linear region item
># self.lr = pg.LinearRegionItem()  # this doesn't work it seems
># self.plot1.addItem(self.lr)
># RuntimeError: super-class __init__() of type InfiniteLine was never 
> called
>
>self.lr = self.view2.pg.LinearRegionItem()  # this appears to work
>self.plot2.addItem(self.lr)
>
>self.lr_proxy = pg.multiprocess.proxy(self.update_view1, 
> callSync='off', autoProxy=True)
>self.lr.sigRegionChanged.connect(self.lr_proxy)
>
>
>
>def update_view1(self):
># This doesn't appear to be called at all
>minX, maxX, = self.lr.getRegion()
>self.view2.vb.setXRange(minX, maxX)
>
> def run():
>
> app = pg.mkQApp()
> win = main_window()
> sys.exit(app.exec_())
>
>
> if __name__ == '__main__':
> run()
>
>
> When you move the linear region nothing happens so there's something 
> wrong. I used a proxy to connect the update_view1 slot to the 
> sigRegionChanged signal because I was getting a pickling error otherwise. 
> Any advice would be appreciated.
>
> -Geoff
>

-- 
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 pyqtgraph+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/399e0c90-b857-41a8-8ee8-bf51cb157bce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[pyqtgraph] Re: RemoteGraphicsView, adding items, and signals/slots

2017-12-08 Thread Geoffrey Barrett
Also should be the following (I mistakenly put view2 instead of view1:

def update_view1(self):
   # This doesn't appear to be called at all
   minX, maxX, = self.lr.getRegion()
   self.view1.vb.setXRange(minX, maxX)





On Friday, December 8, 2017 at 11:10:53 AM UTC-5, Geoffrey Barrett wrote:
>
> Hello,
>
> I am trying to do something similar to the *crosshair.py* example but 
> with *RemoteGraphicsView.* 
>
> Hypothetically if I have something similar to this:
>
> from PyQt4 import QtGui, QtCore
> import numpy as np
> import pyqtgraph as pg
> import pyqtgraph.widgets.RemoteGraphicsView
> import sys
>
> class main_window(QtGui.QWidget):
>"""class that will serve as main window"""
>def __init__(self):
>super(main_window, self).__init__()
>
># view 1
>
>self.view1 = pg.widgets.RemoteGraphicsView.RemoteGraphicsView()
>self.plot1 = self.view1.pg.PlotItem()
>self.view1.setCentralItem(self.plot1)
>
># view 2
>self.view2 = pg.widgets.RemoteGraphicsView.RemoteGraphicsView()
>self.plot2 = self.view2.pg.PlotItem()
>self.view2.setCentralItem(self.plot2)
>
> 
>
># add Layout to widget
>
>layout = QtGui.QVBoxLayout()
>
>layout.addWidget(self.view1)
>layout.addWidget(self.view2)
>
>self.setLayout(layout)
>
>self.show()
>
>self.plot()
>
>def plot(self):
>
>"""Plot random stuff for test"""
>
>t = np.arange(1)/500
>
>data = np.random.rand(1, len(t))
>
>self.plot1.plot(t, data.flatten())
>self.plot2.plot(t, data.flatten())
>
> 
># add linear region item
># self.lr = pg.LinearRegionItem()  # this doesn't work it seems
># self.plot1.addItem(self.lr)
># RuntimeError: super-class __init__() of type InfiniteLine was never 
> called
>
>self.lr = self.view2.pg.LinearRegionItem()  # this appears to work
>self.plot2.addItem(self.lr)
>
>self.lr_proxy = pg.multiprocess.proxy(self.update_view1, 
> callSync='off', autoProxy=True)
>self.lr.sigRegionChanged.connect(self.lr_proxy)
>
>
>
>def update_view1(self):
># This doesn't appear to be called at all
>minX, maxX, = self.lr.getRegion()
>self.view2.vb.setXRange(minX, maxX)
>
> def run():
>
> app = pg.mkQApp()
> win = main_window()
> sys.exit(app.exec_())
>
>
> if __name__ == '__main__':
> run()
>
>
> When you move the linear region nothing happens so there's something 
> wrong. I used a proxy to connect the update_view1 slot to the 
> sigRegionChanged signal because I was getting a pickling error otherwise. 
> Any advice would be appreciated.
>
> -Geoff
>

-- 
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 pyqtgraph+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pyqtgraph/568607fd-349d-4712-8c8a-ff46cbe072e2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.