QNX 6.5.0抓屏或窗口Qt C ++

时间:2018-12-14 14:31:13

标签: c++ qt qnx

我需要在QNX 6.5.0中抓取屏幕或窗口-每秒8次。如果使用标准的低级API函数 PgReadScreen(),则对于分辨率为1920x1080(24位)的屏幕,其缩放效果很差...创建上​​下文PdCreateDirectContext()时,驱动程序将阻止所有其他绘制。它将屏幕冻结几秒钟。

我也查看了这些区域,但是据我了解,它们不包含窗口的图形数据?

使用Qt 5.7.1,但功能有所减少。例如,未实现功能 grabWindow()

好主意:使用小部件的 render()函数,但是使用一些对象……例如:comboBox列表也是小部件。我也必须遵循并绘制它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

抓窗真的很简单。顶级QWidgetwidget.isWindow()==true)由QImage后备存储支持。抓住这一点,无需重绘或OS API。 This answer对该想法有一个可行的,基本上是完整的但简单的实现。只要使用栅格后端,它就应该可移植到任何平台和任何小部件。