【发布时间】:2014-07-25 05:50:49
【问题描述】:
我需要为用户动态创建的许多对象生成一个要打印的文档,并且我想打印这些文档。我写了以下代码(generateDocument() 引用文档来添加html代码):
QPrinter printer;
QPrintDialog popup(&printer);
if (popup.exec() == QDialog::Accepted)
{
for (int i = 0; i < _quiz->getSerieCount(); i++)
{
QTextDocument doc;
generateDocument(doc, _quiz->getSerie(i));
doc.print(&printer);
}
}
当打印到 pdf 时,linux 和 windows 中的行为是不同的:在 linux 上,这只是打印最后生成的文档,而在 windows 上,它会提示为每个 generateDocument() 调用选择一个新的 pdf。
我应该这样做吗?
【问题讨论】:
-
为什么每个 getSerie 都需要一个新的 QTextDocument?您是否尝试过将所有 HTML 添加到单个 QTextDocument 中?
-
我可以强制在html中开始一个新页面吗?要求每个系列打印在不同的页面上...
标签: c++ qt qtextdocument qprinter