PDA

View Full Version : Widget.render() function troubles



FoleyX90
2nd July 2010, 15:35
What I'm trying to do is directly print a widget.
How I have it right now is:


QPrinter p(QPrinter::HighResolution);
p.setPageSize(QPrinter::Letter);
p.setFullPage(true);
this->ui->tabPersonal->render(&p);

It does print, but it is TINY! Any ideas?

Talei
3rd July 2010, 00:20
It's due to:
p.setPageSize(QPrinter::Letter); == 216 x 279 mm
and:
QPrinter::HighResolution; == 1200dpi / standard window screen dpi is around 96 WinXP and 72 - Lin <- AFAIR

Change QPrinter p(QPrinter::HighResolution); to : QPrinter p(QPrinter::ScreenResolution); for example.

To explain why that's happens (image is small in print) calculate:
my screen resolution = 1600x1200 in 1200dpi == 33.8x25mm
QPrinter::Letter = 216 x 279 mm
so my screen after print is approximately ten times smaller.

Regards