QT QPrinter печать неполной страницы - PullRequest
0 голосов
/ 04 октября 2018

Я унаследовал некоторый код NetBeans QT C ++, и PDF с QPrinters печатается нормально, но печать на принтере печатает только половину страницы.Код довольно прост.Похоже, что-то печатается на странице, но все объекты учтены (названы каждый объект).

QPrinter * printer = new QPrinter(QPrinter::HighResolution);
QPainter painter;
painter.begin(printer);
double xscale = printer->pageRect().width()/double(width());
double yscale = printer->pageRect().height()/double(height());
double scale = qMin(xscale, yscale);
painter.translate(printer->paperRect().x() + printer->pageRect().width()/2,
                  printer->paperRect().y() + printer->pageRect().height()/2);
painter.scale(scale, scale);
painter.translate(-width()/2, -height()/2);

render(&painter);

1 Ответ

0 голосов
/ 04 октября 2018

Чтобы ответить на мой собственный вопрос, QPrinter :: HighResolution не работает.Если эта проблема возникает, попробуйте вместо этого QPrinter :: ScreenResolution.

QPrinter(QPrinter::HighResolution);

Возможно, вы захотите определить, собираетесь ли вы использовать PDF вместо принтера, а затем измените разрешение принтера как минимум на 1200 т / д.

...