次の印刷コードがあります。
void Print(QPrinter *printer)
{
QPainter q(printer);
q.setRenderHint(QPainter::HighQualityAntialiasing, true);
q.setPen(QPen(QColor("red")));
q.drawRect(printer->pageRect());
q.drawLine(printer->pageRect().topRight(), printer->pageRect().bottomLeft());
q.setPen(QPen(QColor("blue")));
q.drawRect(printer->paperRect());
q.drawLine(printer->paperRect().topRight(), printer->paperRect().bottomLeft());
}
結果は、QPrintPreviewDialog、レンダリングされた PDF、プリンター (HP LaserJet、PdfFactory、PdfCreator) への出力によって異なります。ほとんどの場合、結果の長方形は紙切れです。出力がすべてのプリンターに似ているようにするにはどうすればよいですか?