Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ QPrintPreviewDialog открывает документ со второй страницы

Автор: demon051 17.8.2018, 12:51

Всем привет.
В памяти формируется документ в формате html
Затем через QWebView загоняется в QPrintPreviewDialog

Предпросмотр открывается, но всё время со второй страницы.
Ковырял-ковырял, ничего не наковырял

В чем может быть дело?

class ReportPrintPreview : public QObject
{
    Q_OBJECT
public:
    explicit ReportPrintPreview(QObject *parent = 0);
    ~ReportPrintPreview();
    void printPreview(QString sHtml, bool landscape = false);
    void print(QString sHtml, bool landscape = false);

private:
      QWebView *_webView;
      QPrintPreviewDialog *_prevDlg;

signals:
      void printTable(QPrinter*);
public slots:
      void accept(bool b);

};

void ReportPrintPreview::printPreview(QString sHtml, bool landscape)
{
    _webView->setHtml(sHtml.toAscii());

    QPrinter printer(QPrinter::HighResolution);
    if(landscape) printer.setOrientation(QPrinter::Landscape);
    _prevDlg = new QPrintPreviewDialog(&printer,0, Qt::WindowStaysOnTopHint);
    connect(_prevDlg, SIGNAL(paintRequested(QPrinter*)),
            _webView, SLOT(print(QPrinter*)));
    _prevDlg->setWindowModality(Qt::ApplicationModal);
    _prevDlg->setWindowState(Qt::WindowMaximized);

    _prevDlg->exec();

    delete _prevDlg;
    _prevDlg = 0;
}

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)