QML组件屏幕渲染

时间:2014-01-30 17:46:00

标签: qml qt-quick

是否可以捕获QML组件的屏幕渲染并将其保存到图像文件中?我想通过几个不同的状态驱动一个组件,并捕获其视觉外观以用于文档目的,而无需进行屏幕/窗口捕获。

2 个答案:

答案 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。

以下是帮助您解决文档的一些链接。

QWidget::grab

QPixmap

QPixmap::save

答案 1 :(得分:2)

使用Qt 5.4,grabToImage现在变得更容易了 - 这个方法驻留在所有QQuickItem对象上。

修改 值得一提的是,您调用grabToImage()的项目必须是顶级Window项容器的子项