QPrintPreviewDialog仅显示Windows 7上的最后一次打印结果

时间:2015-09-26 19:02:40

标签: c++ qt5 qwt

我想在下一页打印QwtPlot对象(来自Qwt库)和QTextBrowser(QTextEdit的子类)的内容。我还需要打印预览。我使用以下代码:

void MainWindow::printPressed()
{
    QPrintPreviewDialog * printPreview = new QPrintPreviewDialog(this);
    connect(printPreview, SIGNAL(paintRequested(QPrinter *)), this, SLOT(doPrint(QPrinter *)));
    printPreview->exec();
}

void MainWindow::doPrint(QPrinter * printer)
{
    plotRenderer.renderTo(qwtPlot, *printer);
    printer->newPage();
    textBrowser->print(printer);
}

实际打印工作正常。但是QPrintPreviewDialog只显示textBrowser的内容,并且调用newPage()进行打印预览会返回false。当我尝试两次打印QTextBrowswer时,会发生完全相同的事情(所以我不认为该bug与Qwt有关):

void MainWindow::doPrint(QPrinter * printer)
{
    techInfo->print(printer);
    printer->newPage();
    techInfo->print(printer);
}

我尝试使用QPrintPrevieWidget并获得相同的行为。有没有解决方法?

0 个答案:

没有答案