Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QWebView未在真正的打印机上打印多页?_C++_Qt_Printing_Qt5_Qwebview - Fatal编程技术网

C++ QWebView未在真正的打印机上打印多页?

C++ QWebView未在真正的打印机上打印多页?,c++,qt,printing,qt5,qwebview,C++,Qt,Printing,Qt5,Qwebview,我正在尝试打印一个包含多个页面的QWebView,使用CSS分页符属性,这对WebKit很好。 我正在使用Qt5.1.1 我的主要问题是,当我使用Qt将其打印为PDF时,一切都很好,但当我尝试将其打印到真正的打印机时,除了第一页之外,所有页面都是空白的! 以下是我的(剥离)测试代码: 测试h: class MainWindow : public QMainWindow, private Ui::MainWindow { Q_OBJECT public: explicit MainW

我正在尝试打印一个包含多个页面的QWebView,使用CSS分页符属性,这对WebKit很好。 我正在使用Qt5.1.1

我的主要问题是,当我使用Qt将其打印为PDF时,一切都很好,但当我尝试将其打印到真正的打印机时,除了第一页之外,所有页面都是空白的! 以下是我的(剥离)测试代码:

测试h:

class MainWindow : public QMainWindow, private Ui::MainWindow
{  
Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);

public slots:
    void printHTML();
    void printPreview(QPrinter *printer);
private:
    QWebView webView;
};
Test.cpp:

#include "Test.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
    QString html;
    html= "<!DOCTYPE html><html>  <head>    <meta http-equiv='content-type' content='text/html;charset=UTF-8' />    <title>Paginated HTML</title>    <style type='text/css' media='print'>      div.page      {        page-break-after: always;        page-break-inside: avoid;      }    </style>  </head>  <body>    <div class='page'>      <h1>This is Page 1</h1>    </div>    <div class='page'>      <h1>This is Page 2</h1>    </div>    <div class='page'>      <h1>This is Page 3</h1>    </div>  </body></html>";

    webView.setHtml(html);
    printHTML();
}

void MainWindow::printPreview(QPrinter *printer) 
{
   webView.print(printer);
}

void MainWindow::printHTML() 
{
    QPrinter printer;
    QPrintPreviewDialog preview(&printer);
    preview.setWindowTitle("Test imp");

    connect(&preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(printPreview(QPrinter*)));

    preview.exec();

    this->close();
}
在QPrinter声明工作正常后,它将保存为PDF格式,并以良好的打印效果显示每一页。
这是一个问题,因为我需要使用普通打印机打印,并且希望避免保存为pdf然后打印pdf。

这在Qt中从未得到纠正,但是现在QWebView已经被QWebEngine所取代,它在打印页面时不会遇到这些问题。

我认为这是一个Qt错误,你应该这样报告。我应该如何以及在哪里这样做?让我告诉你:)如果谷歌宕机,下面是。有什么更新吗?我遇到了同样的问题,更糟糕的是:PDF也超过了第一页。没有,我打开了一个错误报告,它被确认为一个错误,但优先级较低,从Qt 5.4开始它仍然没有被纠正。。。
    printer.setOutputFormat(QPrinter::PdfFormat);