Russian Qt Forum

Qt => Печать => Тема начата: alex7annet от Июль 19, 2011, 20:48



Название: Предпросмотр нескольких html-страниц через QPrintPreviewDialog
Отправлено: alex7annet от Июль 19, 2011, 20:48
Привет всем! Проблема следующая.

Необходимо чтобы в QPrintPreviewDialog можно было отобразить друг за другом несколько самостоятельных html-страниц.

Пытался сделать через QWebView, но QPrinter игнорирует метод addPage(), в результате в QPrintPreviewDialog отображается только последняя добавленная страница. Сейчас код следующий:

Код:
void SalesList::handler_print() {

  QPrinter * printer = new QPrinter;

  QPrintPreviewDialog * previewDlg = new QPrintPreviewDialog(printer);
  previewDlg->setVisible(false);

  connect(previewDlg, SIGNAL(paintRequested(QPrinter *)),
                              SLOT(   testPrint(QPrinter*)));

  previewDlg->exec();

} //void SalesList::handler_ChequeReservAction()

void SalesList::testPrint(QPrinter * printer) {

  QWebView * webView = new QWebView;
  webView->setVisible(false);

  // Мой класс для генерации страниц
  PrintSaleDocGenerate * printSaleDoc = new PrintSaleDocGenerate(dbdoors);

  webView->setHtml(printSaleDoc->doc1().toAscii());
  webView->print(printer);

  printer->newPage();

  webView->setHtml(printSaleDoc->doc2().toAscii());
  webView->print(printer);

} //void SalesList::testPrint(QPrinter * printer)

Что я делаю не так  ???


Название: Re: Предпросмотр нескольких html-страниц через QPrintPreviewDialog
Отправлено: alex7annet от Июль 21, 2011, 18:57
Ничего не смог придумать, кроме как написать небольшую функцию, которая перемалывает все независимые html-странички в одну со вставкой разрыва страницы между ними.


Название: Re: Предпросмотр нескольких html-страниц через QPrintPreviewDialog
Отправлено: kimvlad от Август 18, 2011, 15:27
Ничего не смог придумать, кроме как написать небольшую функцию, которая перемалывает все независимые html-странички в одну со вставкой разрыва страницы между ними.
а каким образом делается вставка разрыва?