我遇到了非常有趣的问题(至少对我而言)。 当我没有使用QTextEdit的setDocument方法将QTextDocument设置为QTextEdit的文档时,它在预览中显示的非常小,而在图像中显示的是pdf,只占用页面中包含整个数据的非常小的位置而且没有页面利润:
image http://imgim.com/small2.png
然而,当我将它设置为任意QTextEdit的文档时,令人惊讶地在页面中显示正常并且页面边距被调整(即整个数据显示为正常的3页)
QTextEdit* displayAreaxd = new QTextEdit;
displayAreaxd->setDocument(mainDocument);
当我使用QTextDocument.print时,这两行代码会更改预览和pdf文件中的所有外观。之后甚至没有使用displayAreaxd,而mainDocument是一个QTextDocument,它是我班级的私有成员。 所以我想知道是什么原因引起的 我制作了预览:
QPrinter printer(QPrinter::HighResolution);
printer.setPaperSize(QPrinter::A4);
QPrintPreviewDialog preview(&printer, this);
connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(preview(QPrinter*)));
preview.exec();
我的预览功能基本上是打印机来自上层方法:
mainDocument->print(printer);
我的mainDocument已创建并初始化为:
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setPaperSize(QPrinter::A4);
mainDocument = new QTextDocument;
mainDocument->setPageSize(printer.pageRect().size());
之后我根据a4页面做了一些普通字体和普通图像尺寸的图纸,但是当我没有将文档设置为任意qtextedit的文档时,它就像在图像中一样
编辑: 当我添加代码时:
QFont docFont = QFont();
docFont.setPointSize(150);
mainDocument->setDefaultFont(docFont);
文字看起来很大,但我担心它是否可以用不同的分辨率或平台改变字体大小,但是当我将文档设置为文本编辑文档时,我仍然不明白点大小的变化。
答案 0 :(得分:0)
当我将文档设置为文本编辑文档的文档宽度更改(减少)时。因此,现有字体在这个像素选项中看起来更大。当我将文档的大小设置为9117 * 10530时,这些字体看起来更小,因为它们的点大小很小,当我将文档设置为文本文档编辑时,它的宽度减小到633所以当前点大小为字体看起来很正常。 因此,当调用setDocument时,文本编辑会更改文档的布局和宽度。