QPrintPreviewDialog不正确的预览

| 使用
QPrintPreviewDialog
预览打印,我使用以下代码
    QPrinter printer;
    printer.setResolution(QPrinter::HighResolution);
    printer.setPaperSize(QPrinter::A4);
    printer.setOrientation(QPrinter::Portrait);
    QPrintPreviewDialog *pd = new QPrintPreviewDialog(&printer);
    connect(pd,SIGNAL(paintRequested(QPrinter*)),this,SLOT(print(QPrinter*)));
    pd->exec();


void Class::print(QPrinter *p)
{
    QTextEdit *ted = new QTextEdit;
    ted->insertHtml(\"<center><img src=\'\"+QString(\":/img/logo.png\")+\"\' width=\'90\' height=\'72\'/><b><font size=\'9\'>Logo Text</font></b></center>\");
    ted->document()->print(p);
}
按下“打印”按钮时,将出现以下对话框: 如您所见,内容遍及整个页面。 然后,我在预览对话框中单击页面设置按钮,出现: 不做任何更改,单击确定,然后预览正确: 问题是如何通过代码更正预览?     
已邀请:
使用QTextDocument代替QTextEdit,后者是一个小部件,它使输出取决于调整大小。     
添加“ 2”以在预览之前显示。     
我遇到过同样的问题。显然,按页面设置对话框的“确定”按钮可以更改分辨率。为了解决这个问题,我在计算打印预览的方法中改回了分辨率:
dialog = QPrintPreviewDialog()
dialog.paintRequested.connect(self.print)
dialog.exec_()

def print(self, printer):
    printer.setResolution(300)
    painter = QPainter()
    painter.begin(printer)
    ...
    

要回复问题请先登录注册