Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: QPrintPreviewDialog открывает документ со второй страницы  (Прочитано 1069 раз)
0 Пользователей и 1 Гость смотрят эту тему.
demon051
Постоялец

ru
Offline Offline

« : 17-08-2018 09:48 » 

Всем привет.
В памяти формируется документ в формате 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;
}
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines