我有一个Qt小部件应用程序,我想打印自定义小部件(每次大小不同)。我的问题是如何设置自定义纸张尺寸到打印机(毫米)。 这就是我尝试的方式:
QPrinter printer(QPrinter::PrinterResolution);
printer.setOutputFormat(QPrinter::NativeFormat);
printer.setPaperSize(QSize(myWidgetWidthMM, myWidgetHeightMM), QPrinter::Millimeter);
QPrintDialog *dlg = new QPrintDialog(&printer, this);
if (dlg->exec() == QDialog::Accepted)
{
QPainter painter(&printer);
myWidget->render(&painter);
}
但是一旦打开QPrintDialog,它就会将纸张尺寸设置为A4。后来我注意到QPrintDialog有一些预先设定的纸张尺寸(A3,A4,A5,声明,B4,B5,执行,法律,信件,小报),如果我设置任何不同的纸张尺寸(甚至预先定义,如A0),那么它又回到了A4。
有什么想法吗?