Вобщем прога у меня может вызывать QPrintPreviewDialog - диалог для предпросмотра страницы. Все хорошо, только вот запустил на виртуальной машине, где принтера собственно нет, и прога ушла в долгий аут. Если запускаю вызов диаглога для печати - он исправно ругается что принтера нету и надо его установить (стандатный виндовс диалог для печати). Прмер из Qt - TextEdit работает точно также.
Он нужен мне без принтера напр. для того, чтобы настроить параметры страницы при сохранении документа в PDF.
Попытался это исправить так:
void EditorMainWindow::slotFilePrintPreview()
{
bool noPrinter=!printer.isValid();
if(noPrinter)
printer.setOutputFormat(QPrinter::PdfFormat);
QPrintPreviewDialog* preview=new QPrintPreviewDialog(&printer, this);
preview->setWindowTitle(tr("Print preview"));
preview->setWindowIcon(QIcon(":images/file/print.png"));
connect(preview, SIGNAL(paintRequested(QPrinter*)), SLOT(slotPrint(QPrinter*)));
preview->exec();
delete preview;
if(noPrinter)
printer.setOutputFormat(QPrinter::NativeFormat);
}
теперь он не уходит глубокий аут, но неработает кнопка печати и параметров страницы.
Что посоветуете?