在我的应用程序中,我使用QTextEdit
显示一些文本,使用HTML进行格式化。可以打印显示的文档。这就是问题所在:在屏幕上,字距调整是正确的,打印时文档看起来很糟糕(主要是:在一些字母后面太多空间)。
尝试理解问题我在外部文件中输出HTML,并在真实的浏览器中进行测试。在Chrome中存在完全相同的问题,而在Firefox中,字距调整也适用于打印。问题来自HTML渲染引擎,但我没有使用QtWebkit模块(我甚至没有编译它),这可能解释了Chrome中出现同样的问题。
我该如何解决这个问题?
修改
这是它的样子:
首先应该呈现的文本(Firefox):
然后使用Qt / Chrome呈现的内容(特别是在M和p之后显着):
答案 0 :(得分:0)
这是一个简单的解决方法,
使用下面的函数在QImage上绘制完整的QTextEdit Widget,然后打印出QImage。
http://doc.qt.io/qt-5/qwidget.html#render
Qt使用不同的渲染器进行打印,我认为这是一个与之相关的问题。