Russian Qt Forum

Qt => Печать => Тема начата: span от Декабрь 14, 2007, 17:33



Название: Печать из TextBrowser.
Отправлено: span от Декабрь 14, 2007, 17:33
Печатаю из TextBrowser вот таким вот кодом:
Код:
	 QPrinter printer;

     QPrintDialog *dialog = new QPrintDialog(&printer, this);
     dialog->setWindowTitle(tr("Print Document"));
     if (textBrowser->textCursor().hasSelection())
         dialog->addEnabledOption(QAbstractPrintDialog::PrintSelection);
     if (dialog->exec() != QDialog::Accepted)
         return;
textBrowser->print(&printer);

Как бы сделать, чтобы то что в моем TextBrowser`е масштабировалось по шрине на размер страницы А4??

А то получается, что если ширина "данных" больше чем страница - печать идет сразу на 2х.


Название: Re: Печать из TextBrowser.
Отправлено: EhTemka от Декабрь 14, 2007, 22:16
QTextDocument::setPageSize ( const QSizeF & size )


Название: Re: Печать из TextBrowser.
Отправлено: IGHOR от Декабрь 14, 2007, 23:38
Спасибо за топик  ;)


Название: Re: Печать из TextBrowser.
Отправлено: span от Декабрь 17, 2007, 13:52
EhTemka, спасибо за ответ.

Насколько я понимаю, метод setPageSize мне просто изменит размер QTextDocument.
Соответственно появятся переносы строк, и другие изменения.

Меня интересует немного другое:

Есть отчет, он изначально в html. Я его подгоняю под разрешение экрана, размер моего QTextDocument и.т.д. Смотрится на экране как и надо.
А затем я хочу, чтобы именно в таком виде он и печатался. Т.е. размеры всего что на нем есть (текст в разных шрифтах, таблицы и.т.д.) линейно смасштабировались под ширину страницы А4.
Примерно как если на ксероксе задать опцию страничку А4 печатать на А5.