Hi,

I did some more tests, however the custom widget doesn't seem to be the 
problem. I realized you meant to just let qt designer to know about the 
custom class and not write my own. So I am still stuck at the same point. 

Cheers,
Daniele 

Il giorno lunedì 20 aprile 2020 13:15:30 UTC+2, Daniele Dolci ha scritto:
>
> Hi! Thanks for the reply!
>
> I don't use qt designer actually, but I guess i can simply translate this 
> part of the xml into code:
>
> <customwidgets> 
>     <customwidget> 
>         <class>GLViewWidget</class>
>         <extends>QOpenGLWidget</extends>
>         <header>pyqtgraph.opengl</header>
>     </customwidget> 
> </customwidgets>
>
>
> Do you think something like this would work?
>
> class GLViewWidget(QOpenGLWidget):
>     def __init__(*args, **kwargs):
>         super(GLViewWidget, self).__init__(*args, **kwargs)
>
> Maybe I am not translating <header>pyqtgraph.opengl</header> , right?
>
> Thanks for the help!
>
> Il giorno lunedì 20 aprile 2020 13:03:56 UTC+2, Nick PV ha scritto:
>>
>> Try to promote your OpenGL widget on PyQt form at PyQt designer:
>>
>>
>> some hints : 
>> https://stackoverflow.com/questions/53798877/pyqtgraph-opengl-vs-opengl-gl-how-to-display-axis-at-pyqt5-opengl-embedded-wid
>>
>>
>>
>> On Saturday, April 18, 2020 at 9:57:19 AM UTC-7, Daniele Dolci wrote:
>>>
>>> I am trying to create a 3d plot of a cube and add it to my ui. after 
>>> lots of tests and following the examples I got this code to work:
>>>
>>> # import PyQt5
>>> # from PyQt5 import QtGui, QtCore
>>> # import numpy as np
>>> # import pyqtgraph as pg
>>> # import pyqtgraph.opengl as gl
>>>
>>> # -*- coding: utf-8 -*-
>>> """
>>> Demonstrates GLVolumeItem for displaying volumetric data.
>>>
>>> """
>>>
>>> ## Add path to library (just for examples; you do not need this)
>>>
>>> from pyqtgraph.Qt import QtCore, QtGui
>>> import pyqtgraph.opengl as gl
>>>
>>> app = QtGui.QApplication([])
>>> w = gl.GLViewWidget()
>>> w.opts['distance'] = 200
>>> w.show()
>>> w.setWindowTitle('pyqtgraph example: GLVolumeItem')
>>>
>>> # b = gl.GLBoxItem()
>>> # w.addItem(b)
>>> g = gl.GLGridItem()
>>> g.scale(10, 10, 1)
>>> w.addItem(g)
>>>
>>> import numpy as np
>>>
>>> vertexes = np.array([[1, 0, 0], #0
>>>                      [0, 0, 0], #1
>>>                      [0, 1, 0], #2
>>>                      [0, 0, 1], #3
>>>                      [1, 1, 0], #4
>>>                      [1, 1, 1], #5
>>>                      [0, 1, 1], #6
>>>                      [1, 0, 1]])#7
>>>
>>> colors = np.array([[1,0,0,1] for i in range(12)])
>>>
>>> faces = np.array([[1,0,7], [1,3,7],
>>>                   [1,2,4], [1,0,4],
>>>                   [1,2,6], [1,3,6],
>>>                   [0,4,5], [0,7,5],
>>>                   [2,4,5], [2,6,5],
>>>                   [3,6,5], [3,7,5]])
>>>
>>> cube = gl.GLMeshItem(vertexes=vertexes, faces=faces, faceColors=colors,
>>>                      drawEdges=True, edgeColor=(0, 0, 0, 1))
>>>
>>> w.addItem(cube)
>>>
>>> ax = gl.GLAxisItem()
>>> w.addItem(ax)
>>>
>>> ## Start Qt event loop unless running in interactive mode.
>>> if __name__ == '__main__':
>>>     import sys
>>>
>>>     if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
>>>         QtGui.QApplication.instance().exec_()
>>>
>>>
>>>
>>> For some reason whenever I replace:
>>>
>>>
>>> from pyqtgraph.Qt import QtCore, QtGui
>>>
>>> with
>>>
>>> from PyQt5 import QtWidgets, QtCore, QtGui
>>>
>>>
>>> I start to get this error:
>>>
>>> Traceback (most recent call last):
>>>   File 
>>> "/usr/local/lib/python3.7/dist-packages/pyqtgraph/opengl/GLViewWidget.py", 
>>> line 188, in paintGL
>>>     self.setProjection(region=region)
>>>   File 
>>> "/usr/local/lib/python3.7/dist-packages/pyqtgraph/opengl/GLViewWidget.py", 
>>> line 110, in setProjection
>>>     glMatrixMode(GL_PROJECTION)
>>>   File "/usr/lib/python3/dist-packages/OpenGL/error.py", line 232, in 
>>> glCheckError
>>>     baseOperation = baseOperation,
>>> OpenGL.error.GLError: GLError(
>>>    err = 1282,
>>>    description = b'invalid operation',
>>>    baseOperation = glMatrixMode,
>>>    cArguments = (GL_PROJECTION,)
>>> )
>>>
>>>
>>> For this reason I wasn't able to get this to work in my ui. Any idea what 
>>> that might depend on?
>>>
>>>
>>> Thanks!
>>>
>>>
>>>
>>>

-- 
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/52c45788-60ad-4f1b-bc38-4eb0c7321365%40googlegroups.com.

Reply via email to