如何使用打印机打印QML对象?

6
我用Qt Quick设计了一个销售收据,并希望通过打印机将其打印出来。 如何实现呢? 以下是我的主要代码: main.cpp
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/Caisse-MBM/main.qml"));
viewer.showFullScreen();
1个回答

6

你可以使用 QQuickView::grabWindow() 方法获取一个 QImage,然后对其进行任何操作,比如打印或保存...

QImage image = view->grabWindow();

接下来,您可以按照此帖子的步骤获取要打印的图像。


我在我的cpp中没有view对象。如何调用一个方法,使其从我的QML文件中完成所有这些操作?注:我已经在问题中包含了我的main.cpp - Slim
@slimit-tn - 在你的情况下,它是“viewer”。 - dtech
不,问题是我想在视图对象的子孙的子孙上执行**grabWindow()**函数。为此,我已经将QImage作为上下文参数传递了进去。 - Slim
grabWindow() 仅适用于快速查看,如果您想要对象的图形表示,那么您会得到一个惊喜 - 我一直在尝试获取原始帧缓冲区数据,但无济于事。如果我找到了方法,我会告诉您。 - dtech

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接