我的应用中有一个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并默认为字母,所以我必须在打印机对话框弹出窗口中更改它,否则我必须使用打印机按钮强制打印。无论哪种方式,一切都出错......
任何人都有任何可能帮助我的指针?我确信我只是遗漏了一些简单的东西。
/杰森
答案 0 :(得分:2)
尝试在打印前将QWebSettings::PrintElementBackgrounds
属性设置为true:
QWebSettings::globalSettings()->setAttribute(QWebSettings::PrintElementBackgrounds, true);
您也可以在QWebView特定设置QWebView::settings()