Унаследовать от QBufferDataGenerator - PullRequest
0 голосов
/ 17 мая 2019

Прежде всего, мои настройки:

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 привязок.

...