FYI pyqtgraph 0.12.0+ require Qt 5.12+

On Mon, Apr 5, 2021 at 17:51 Kevin Dunphy <[email protected]>
wrote:

> 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
> <https://groups.google.com/d/msgid/pyqtgraph/59081bd0-1015-40f6-9772-23611e7aa0b8n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CA%2BnduTECnQO8U3_TbokaAgAHTC3J6RN4kBvO6qC%3DQ%2Bi3TLbXjA%40mail.gmail.com.

Reply via email to