Embedded 我们如何让Qt渲染到内存而不是设备?

Embedded 我们如何让Qt渲染到内存而不是设备?,embedded,qt5,in-memory,Embedded,Qt5,In Memory,我有一个应用程序,它将Qt5.6用于各种用途,并在嵌入式设备上运行。目前,我已通过eglfs将其渲染到连接显示器上的Linux帧缓冲区,但我还希望能够捕获数据并将其发送到单色LED显示单元(设备将具有该单元或完整视频设备,决不能同时具有这两个单元) 根据我目前在网上的发现,最好的方法是: 关闭抗锯齿功能 为1位/像素显示设备设置Qt 选择1bpp字体,不允许使用灰度;及 以某种方式捕获Qt生成的图形场景,以便我可以将其传输到显示单元 这只是我遇到的最后一个问题。我怀疑我需要创建一个具有某种描

我有一个应用程序,它将Qt5.6用于各种用途,并在嵌入式设备上运行。目前,我已通过eglfs将其渲染到连接显示器上的Linux帧缓冲区,但我还希望能够捕获数据并将其发送到单色LED显示单元(设备将具有该单元或完整视频设备,决不能同时具有这两个单元)

根据我目前在网上的发现,最好的方法是:

  • 关闭抗锯齿功能
  • 为1位/像素显示设备设置Qt
  • 选择1bpp字体,不允许使用灰度;及
  • 以某种方式捕获Qt生成的图形场景,以便我可以将其传输到显示单元
这只是我遇到的最后一个问题。我怀疑我需要创建一个具有某种描述的表面,并将其注入到Qt显示“堆栈”中,但我找不到任何关于如何做到这一点的好例子


如何做到这一点?假设我没有弄错,是否有一种同步方法用于确保我只从表面获得完整的缓冲区(即,没有撕裂)?

IIRC与QWS有使用双帧缓冲区的功能。可能在Qt5或更高的egfls上可用。