C++ QtWebkit:打印问题:打印页上没有图像
我的应用程序中有一个webkit小部件,您可以打印它。它打印得很好,只是打印时没有图像,即使屏幕上有图像 以下是打印代码:C++ QtWebkit:打印问题:打印页上没有图像,c++,qt,printing,C++,Qt,Printing,我的应用程序中有一个webkit小部件,您可以打印它。它打印得很好,只是打印时没有图像,即使屏幕上有图像 以下是打印代码: void MainWindow::printPage() { QPrinter printer; printer.setPageSize(QPrinter::A4); printer.setPageMargins(10, 10, 10, 10, QPrinter::Millimeter); printer.setColorMode(QPrin
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);
}
}
QWebSettings::globalSettings()->setAttribute(QWebSettings::PrintElementBackgrounds, true);
我也或多或少忽略设置为A4,默认为字母,所以我必须在打印机对话框弹出窗口中更改它,否则我必须使用打印机按钮强制打印。不管怎样,结果都是错的
有人能给我一些建议吗?我确信我只是错过了一些简单的东西
/Jason在打印之前,请尝试将
QWebSettings::PrintElementBackgrounds
属性设置为true:
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);
}
}
QWebSettings::globalSettings()->setAttribute(QWebSettings::PrintElementBackgrounds, true);
您还可以在QWebView特定设置中设置此设置,QWebView::settings()