Прежде всего, мои настройки:
python3
needs.txt
PyQt5>=5.12
pyqt3d>=5.12
pyopengl
пример.py
from PyQt5.QtCore import *
from PyQt5.Qt3DCore import *
from PyQt5.Qt3DRender import *
class SomeDataGenerator(QBufferDataGenerator):
def __init__(self, some_bytes):
super().__init__()
self._bytes = some_bytes
def __call__(self):
return self._bytes
def __eq__(self, other):
return (self._bytes == other._bytes)
def __neq__(self, other):
return not (self._bytes == other._bytes)
def id(self):
return functorTypeId(SomeDataGenerator)
someBytes = QByteArray()
someBuffer = QBuffer(QBuffer.VertexBuffer)
someDataGenerator = SomeDataGenerator(someBytes)
someBuffer.setDataGenerator(someDataGenerator)
И вывод при запуске:
$ python3 example.py
...
TypeError: PyQt5.Qt3DRender.QBufferDataGenerator cannot be instantiated or sub-classed
Итак, вопрос в том, как я могу назвать QBuffer::setDataGenerator
?
Большойчто я хочу сделать: рисовать точки или что-то еще с Qt3D
через PyQt5
привязок.