Qt 以平台无关的方式在QWidget上呈现SDL_曲面
我有一个Qt 以平台无关的方式在QWidget上呈现SDL_曲面,qt,sdl,Qt,Sdl,我有一个SDL_surface,它在自己的窗口中播放视频。我希望此窗口在QWidget上呈现。我想要一个通用的解决方案,因为我的目标是OSX、Windows和Linux 我遇到的情况总结如下: 窗口ID破解涉及将SDL\u WINDOWID设置为QWidget的ID,以便SDL在QWidget上推送像素。下面是一个来自相关线程的示例 但是,这在OSX上不起作用,也不能保证在所有Win和Linux平台上都能起作用 手动将从非窗口SDL_曲面复制到QWidget 到目前为止,找到了一些但没有找到。
SDL_surface
,它在自己的窗口中播放视频。我希望此窗口在QWidget
上呈现。我想要一个通用的解决方案,因为我的目标是OSX、Windows和Linux
我遇到的情况总结如下:
SDL\u WINDOWID
设置为QWidget的ID,以便SDL在QWidget上推送像素。下面是一个来自相关线程的示例
但是,这在OSX上不起作用,也不能保证在所有Win和Linux平台上都能起作用
可能存在重复的问题,但我的问题更具体的是平台独立性从
SDL_曲面
检索像素,并用它创建一个QImage
,然后使用qPaint
在小部件上绘制QImage
。与创建QImage相关的开销是否会使其效率低下,就像我在问题中所说的那样?我没有,但今天晚些时候可能会写一些。但是你的问题没有标记为C/C++……我也在尝试编写代码。当我完成后会更新,如果你有兴趣的话只是想澄清一下,在我建议的方法中确实没有数据转换。瓶颈实际上是在屏幕上画东西为了加快速度,.FYI了解了如何将SDL_曲面转换为QImage。它起作用了。谢谢你为我指明了正确的方向