I created a new environment from scratch and re-installed all my required packages with the following versions:
Python 3.8 pyqt~=5.9.2 pyqtgraph~=0.11.0 numpy~=1.19.2 scipy~=1.6.2 pandas~=1.2.3 After this, everything is working. On Monday, 5 April 2021 at 17:29:53 UTC-3 Mike wrote: > On 2021-04-05 08:13, Kevin Dunphy wrote: > > Attached correct version of test.py **** (Still doesn't work, but uses > numpy arrays in the scatter plot inputs). > > On Monday, 5 April 2021 at 09:11:11 UTC-3 Kevin Dunphy wrote: > >> >> This isn't quite my problem. I've attached some test scripts that show >> where the error occurs. The only major difference in that in one case I am >> embedding the GL widget into a main window, and in another case I am not. I >> don't think it is a driver issue *because* test2.py works without issues. >> >> For context, I am running the following versions: >> >> Python 3.8 >> PyQt5 5.15.1 >> pyqtgraph 0.12.0 >> numpy 1.19.4 >> >> On Monday, 5 April 2021 at 00:06:47 UTC-3 Nit wrote: >> >>> Hi, you might need to place the place the graphicsview inside >>> gridlayout, add GLviewwidget onto the layout >>> >>> #Create object form GLviewWidget >>> self.viewt = gl.GLViewWidget() >>> #create grid features >>> self.xgrid.rotate(90, 0, 1, 0) >>> self.xgrid.translate(-10, 0, 0) >>> #add grid item to GLviewWidget object >>> self.viewt.addItem(self.xgrid) >>> >>> #This should solve the issue >>> self.layout_parent = QGridLayout(self.graphicsView) >>> self.layout_parent.setContentsMargins(20, 20, 20, 20) >>> self.layout_parent.addWidget(self.viewt) >>> >>> Let me know >>> >>> On Sunday, April 4, 2021 at 6:31:19 AM UTC-7 [email protected] >>> wrote: >>> >>>> Hello everyone, >>>> >>>> I'm fairly new to PyQtGraph, and for the most part I have been having >>>> tremendous success. I am creating an application that does some analysis >>>> on >>>> objects in 3D space, and generates plots based on their geometry. >>>> Currently >>>> my plots are all 2D, with an image view and linked axes to show data >>>> arising from the underlying model geometry, however I was hoping to also >>>> include a 3D plot *showing* the geometry. Going through the PyQtGraph >>>> examples, the GlScatterPlotItem looks to be precisely what I am looking >>>> for. >>>> >>>> Oddly enough, the example runs perfectly fine, however when I try to >>>> implement this into my application I got an error. My first instinct was >>>> to >>>> bring the GlViewWidget outside of my GraphicsLayoutWidget, and plot >>>> independently. This worked.. kind of. I can add a GridItem to the >>>> GlViewWidget, and that renders fine - I can interact with it as I can in >>>> the examples. However, upon trying to add a GlScatterPlotItem I get the >>>> following error: >>>> >>>> line 114, in addItem >>>> self.checkOpenGLVersion('Error while adding item %s to >>>> GLViewWidget.' % str(item)) >>>> >>>> line 535, in checkOpenGLVersion >>>> verString = glGetString(GL_VERSION) >>>> >>>> line 415, in __call__ >>>> return self( *args, **named ) >>>> >>>> line 230, in glCheckError >>>> raise self._errorClass( >>>> OpenGL.error.GLError: GLError( >>>> err = 1282, >>>> description = b'invalid operation', >>>> baseOperation = glGetString, >>>> cArguments = (GL_VERSION,) >>>> ) >>>> >>>> What baffles me is that the examples work without issue. Some googling >>>> lead me to upgrading mesa drivers, however that did not seem to fix the >>>> issue - Any ideas on what I could do to make this work? >>>> >>>> > Probably because in your test.py the MainWindow object is garbage > collected after main() returns? > After fixing it as shown below, it works for me. > > > from PyQt5 import QtWidgets, uic > import pyqtgraph.opengl as gl > import pyqtgraph as pg > import numpy as np > > > class MainWindow(QtWidgets.QMainWindow): > def __init__(self, *args, **kwargs): > super().__init__(*args, **kwargs) > uic.loadUi('test.ui', self) > self.openGLWidget.show() > > > def main(): > m = MainWindow() > grid = gl.GLGridItem() > m.openGLWidget.addItem(grid) # <-- Works, no problem. > pos = np.array([(0, 0, 0), (0, 1, 0)]) > size = np.array([10, 10]) > scatter_plot = gl.GLScatterPlotItem(pos=pos, size=size) > m.openGLWidget.addItem(scatter_plot) # <-- Throws error > return m > > > if __name__ == '__main__': > app = pg.mkQApp() > m = main() > m.show() > pg.mkQApp().exec_() > > -- 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/59081bd0-1015-40f6-9772-23611e7aa0b8n%40googlegroups.com.
