如何将 MFC DC 与 QPrinter 关联?

发布于 2024-09-08 03:04:58 字数 178 浏览 9 评论 0原文

我只是想知道是否可以使用我现有的 MFC 创建的 DC 与 QPrinter 关联,以便它直接使用现有的 DC,而不是使用 QPrintDialog 创建自己的 DC?

QPrinter 是否像 QWidget 一样使用 Qt 的后备存储,即它是否在打印之前创建离屏图像?

I was just wondering if it is possible to use my existing MFC created DC to associate with a QPrinter so that it directly uses the existing DC rather creates its own with QPrintDialog?

Does QPrinter make use of Qt's backingstore as QWidget does, i.e., does it create an off-screen image before printing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

当爱已成负担 2024-09-15 03:04:58

第一件事:
QPrintDialog 与您的问题无关。
您可以在不使用 QPrintDialog 的情况下设置 QPrinter。

无论如何:您在 QPainter 中绘画,其中 QPrinter “只是”打印设备。仅当您结束 QPainter 时才开始打印。所以使用 QPrinter 时有一个后备存储。

您无法将 DC 转换为 QPainter,因此 QPrinter 无法对 DC 执行任何操作。最接近的事情是从 DC 获取位图并将其打印到新的 QPainter。

First thing:
QPrintDialog has nothing to do with your question.
You can set-up a QPrinter without using QPrintDialog.

Anyway: You paint into a QPainter where QPrinter is "only" the printing device. Printing only starts when you end the QPainter. So there is a backing store when using QPrinter.

You can't convert a DC to a QPainter so QPrinter can't do anything with a DC. The closest thing would be to get a Bitmap from the DC and print it to a fresh QPainter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文