如何在MFC应用程序中打印QGraphicsTextItem

时间:2010-06-23 09:50:32

标签: qt mfc qt4 qt-mfc-migration

我在我的MFC应用程序中使用QGraphicsTextItem进行文本编辑,然后将结果转换为位图以在视图(屏幕)中显示。但它在打印时存在问题。例如,如果我打印到PDF文件,文本不可伸缩,因为它是位图,文件大小也很大。

如何在MFC打印框架中打印QGraphicsTextItem?理想的解决方案是我们可以将QPrinter挂钩到MFC打印框架中,或者我可以使用Win32 DC初始化QPrinter。 MFC打印框架为我准备了打印机和DC,所以我不需要QPrintDialog再次执行该任务。 代码可能是这样的:

QPrinter printer;
printer.paintEngine()->setDC(myHDC); //**Note: this line is imagined by me.
QPainter painter(&printer);

这可能吗?我是否必须重新实现自己的QPrinter?扫描QPrinter的源代码,我发现它非常复杂。我希望有一个简单的方法来实现我的目标。如果我必须实现自己的QPrinter,我还需要注意什么?谁能给我一些建议?

1 个答案:

答案 0 :(得分:0)

坏消息。您正在寻找的是GDI / GDI +渲染器,它在Qt4中被放弃了。 Here是一个相关问题,有关同一问题的详细信息。在一天结束时,您不需要提供QPrinter,而是QPaintEngine。请参阅this doc