Opengl 从QImage创建QTextureImage

Opengl 从QImage创建QTextureImage,opengl,qt5,pyqt5,qt3d,pyside2,Opengl,Qt5,Pyqt5,Qt3d,Pyside2,有没有办法从QImage创建Qt3DRender.QTextureImage 我的目标是将自定义图像放置在三维空间的平面上 我只知道QTextureImage可以打开一些光栅图像文件(例如.webp)和.jpg等文件 它可以从磁盘打开文件: material=Qt3DExtras.QNormalDiffuseSpecularMapMaterial() 材料.重新缩放(1) 材料.环境设置(来自RGBF(1,1,1,0)的QColor image=Qt3DRender.QTextureImage(

有没有办法从
QImage
创建
Qt3DRender.QTextureImage

我的目标是将自定义图像放置在三维空间的平面上

我只知道
QTextureImage
可以打开一些光栅图像文件(例如.webp)和.jpg等文件

它可以从磁盘打开文件:

material=Qt3DExtras.QNormalDiffuseSpecularMapMaterial()
材料.重新缩放(1)
材料.环境设置(来自RGBF(1,1,1,0)的QColor
image=Qt3DRender.QTextureImage()
setSource(QUrl(“文件:test.jpg”))
material.normal().addTextureImage(图像)
平面\实体。添加组件(材料)
我想这样做:

image.setSource(QImage())

我是在Qt社区的帮助下完成的

QPaintedTextureImage
是一个抽象类,因此必须继承

类图像(Qt3DRender.QPaintedTextureImage):
def uuu init uuu(self,parent=None):
super()。\uuuu init\uuuu(父级)
self.\u image=None
def油漆(自漆、油漆工):
rect=QRect(0,0,self.\u image.width(),self.\u image.height())
画师.绘图图像(rect,self.\u图像,rect)
def set_图像(自身,图像):
自我形象=形象
self.setSize(image.size())
painter=QPainter()
自漆(油漆工)
self.image=image()
self.image.set_image(image)#type(image):QImage
self.material.normal().addTextureImage(self.image)