LINUX.ORG.RU

QPrintDialog: Cannot be used on non-native printers

 ,


0

1

Пишу на C++ и qt. Вывод текста на печать делаю следующим образом:

QPrinter Printer(QPrinter::PrinterResolution);
PrintDialog = new QPrintDialog(&Printer);
Printer.setPageSize(QPrinter::A4);
Printer.setOrientation(QPrinter::Portrait);
Printer.setPageMargins(20, 20, 20, 20, QPrinter::Millimeter);
Printer.setFullPage(false);
Printer.setOutputFormat(QPrinter::NativeFormat);
QTextDocument Doc;
QFont DocFont("PT Serif");
DocFont.setPixelSize(10);
Doc.setDefaultFont(DocFont);
QString HtmlForPrint = "<b>Test</b>";
Doc.setPageSize(Printer.pageRect().size());
Doc.setDocumentMargin(0);
Doc.setDefaultFont(DocFont);
Doc.setHtml(HtmlForPrint);
if (PrintDialog->exec()) {
    Doc.print(&Printer);
}
delete PrintDialog;
При сборке в debian всё работает правильно, при сборке в windows при попытке печати ничего не происходит (диалоговое окно не появляется), в выводе приложения:
QPrintDialog: Cannot be used on non-native printers
Пробывал qt 5.11, qt 5.9, windows 10 x64, windows 7 x64, windows 7 x86 - проблема остается везде. Собственно, что я делаю не так?