HI, I have a quite similar problem, I want to print a square 20 * 20 mm and I'm using this code:
printer.
setOrientation (QPrinter::Portrait);
int LogicalWidth = 210;
int LogicalHeight = 297;
painter.setWindow(0, 0,LogicalWidth, LogicalHeight);
int PhysicalWidth = printer.width();
int PhysicalHeight = printer.height();
painter.setViewport(0, 0, PhysicalWidth, PhysicalHeight);
painter.begin(&printer);
painter.drawRect(50,50,20,20);
painter.end();
QPrinter printer;
printer.setPaperSize(QPrinter::A4);
printer.setOrientation (QPrinter::Portrait);
QPainter painter;
int LogicalWidth = 210;
int LogicalHeight = 297;
painter.setWindow(0, 0,LogicalWidth, LogicalHeight);
int PhysicalWidth = printer.width();
int PhysicalHeight = printer.height();
painter.setViewport(0, 0, PhysicalWidth, PhysicalHeight);
painter.begin(&printer);
painter.drawRect(50,50,20,20);
painter.end();
To copy to clipboard, switch view to plain text mode
the square I obtain is quite 5*5 mm , but i expect a square 20 * 20 mm...where is my mistake?
Thankyou in advance.
Bookmarks