是否可以捕获QML组件的屏幕渲染并将其保存到图像文件中?我想通过几个不同的状态驱动一个组件,并捕获其视觉外观以用于文档目的,而无需进行屏幕/窗口捕获。
答案 0 :(得分:3)
是的,您可以将状态转换设置为QWidget::grab
,然后通过QPixmap
将其保存到文件中。
如果您需要一个如何设置代码来调用QWidget::grab
的示例,请查看以下答案:How to take ScreenShot Qt/QML
将QPixmap::grabWidget
替换为QWidget::grab
非常重要,因为QPixmap::grabWidget
现已过时。从QPixmap
获取QWidget::grab
之后,请按照QPixmap
中的文档保存为您想要的格式,例如jpeg,png,gif。
以下是帮助您解决文档的一些链接。
答案 1 :(得分:2)
使用Qt 5.4,grabToImage现在变得更容易了 - 这个方法驻留在所有QQuickItem对象上。
修改强> 值得一提的是,您调用grabToImage()的项目必须是顶级Window项容器的子项