QtWebkit:打印问题:打印页面上没有图像

时间:2011-11-14 13:11:09

标签: c++ qt printing

我的应用中有一个webkit小部件,您可以打印它。它打印得很好,除非打印时没有图像,即使屏幕上有图像。

以下是打印代码:

void MainWindow::printPage() {
    QPrinter printer;
    printer.setPageSize(QPrinter::A4);
    printer.setPageMargins(10, 10, 10, 10, QPrinter::Millimeter);
    printer.setColorMode(QPrinter::Color);
    QPrintDialog* dialog = new QPrintDialog(&printer, this);
    if (dialog->exec() == QDialog::Accepted)
    {
         this->webView->page()->mainFrame()->print(&printer);
    }
}

我或多或少地忽略设置为A4并默认为字母,所以我必须在打印机对话框弹出窗口中更改它,否则我必须使用打印机按钮强制打印。无论哪种方式,一切都出错......

任何人都有任何可能帮助我的指针?我确信我只是遗漏了一些简单的东西。

/杰森

1 个答案:

答案 0 :(得分:2)

尝试在打印前将QWebSettings::PrintElementBackgrounds属性设置为true:

QWebSettings::globalSettings()->setAttribute(QWebSettings::PrintElementBackgrounds, true);

您也可以在QWebView特定设置QWebView::settings()

上设置此项