首页 > 解决方案 > 继承自 QBufferDataGenerator

问题描述

首先我的设置:

蟒蛇3

要求.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绑定绘制点或任何东西。

标签: python-3.xopenglqt5pyqt5qt3d

解决方案


推荐阅读