Qt 如何(使用打印机)打印QML对象?

Qt 如何(使用打印机)打印QML对象?,qt,printing,qml,qtquick2,qt-quick,Qt,Printing,Qml,Qtquick2,Qt Quick,我用Qt Quick设计了一张销售收据,我想用打印机打印 我该怎么做 这是我的main.cpp QtQuick2ApplicationViewer viewer; viewer.setMainQmlFile(QStringLiteral("qml/Caisse-MBM/main.qml")); viewer.showFullScreen(); 您可以使用QQuickView::grabWindow()获取QImage,然后对其执行任何操作、打印、保存 QImage image = view-&

我用Qt Quick设计了一张销售收据,我想用打印机打印

我该怎么做

这是我的main.cpp

QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/Caisse-MBM/main.qml"));
viewer.showFullScreen();

您可以使用
QQuickView::grabWindow()
获取
QImage
,然后对其执行任何操作、打印、保存

QImage image = view->grabWindow();

之后,您可以按照以下步骤获得要打印的图像。

我的cpp中没有view对象。如何调用一个从我的QML文件生成所有这些内容的方法?注意:我在问题中包含了main.cpp。@slimit tn-在您的例子中,它是
viewer
No,问题是我想对视图对象的子对象的子对象的子对象执行grabWindow()。为此,我将QImage作为一个上下文参数传递。
grabWindow()
仅适用于快速查看,如果您想要对象的图形表示,您可以在其中进行处理-我一直在尝试访问原始帧缓冲区数据,但没有用。如果我有办法,我会让你知道的。