Russian Qt Forum

Qt => Печать => Тема начата: Lostinnet от Март 31, 2010, 12:28



Название: Поля принтера
Отправлено: Lostinnet от Март 31, 2010, 12:28
Подскажите, как определить поля принтера.
При предварительно просмотре после изменения параметров в окне Параметры страницы, страница ужимается даже если в окне были заданы нулевые поля. Предполагаю что это из-за полей принтера. Как с этим боротся, чтоб страница печаталась в соответствии с теми полями которые я задал


Название: Re: Поля принтера
Отправлено: panAlexey от Апрель 01, 2010, 12:06
Подскажите, как определить поля принтера.
При предварительно просмотре после изменения параметров в окне Параметры страницы, страница ужимается даже если в окне были заданы нулевые поля. Предполагаю что это из-за полей принтера. Как с этим боротся, чтоб страница печаталась в соответствии с теми полями которые я задал
Страница ужимается потому что паинтер олучает команду scale(...)
Тебе нужно управлять этим процессом.
Пока молчишь о том каким мехАнизмом пользуешся помочь непвозможно..


Название: Re: Поля принтера
Отправлено: Lostinnet от Апрель 07, 2010, 10:38
Все легко и просто

void mainWin::print()
{
     QPrinter printer(QPrinter::HighResolution);
     PrintPreviewDialog  preview(&printer);
     connect(&preview, SIGNAL(paintRequested(QPrinter *)), SLOT(paintOnPrinter(QPrinter *)));
     preview.exec();
}


void mainWin::paintOnPrinter(QPrinter *)
{
  QPainter painter( printer );
  scene->render(&painter);
}