Используя 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);
}
При нажатии кнопки печати появляется это диалоговое окно:

Как вы можете видеть, содержимое распространяется по всей странице. Затем я нажимаю кнопку настройки страницы в диалоговом окне предварительного просмотра, и появляется следующее сообщение:

ничего не меняя, я нажимаю ОК, и тогда предварительный просмотр становится правильным :

Вопрос в том, как исправить предварительный просмотрпо коду?