当使用 QTextDocument 和 QPrinter 打印到 PDF 时,有没有办法检测错误(例如,无法写入 PDF 文件)?
我正在使用以下代码:

QTextDocument document;
QPrinter printer( QPrinter::HighResolution );
printer.setOutputFormat( QPrinter::PdfFormat );
printer.setOutputFileName( filename );
document.print( &printer );

最佳答案

在文档中,您会找到 QPrinter::printerState 。所以你绝对可以这样做:

if (printer.printerState() == QPrinter::Error)
    // do some error handling

我承认这不是很多工作,因为只有 4 个 QPrinter::PrinterState 。您可能希望首先尽力避免错误。文档中的 detailed description 指出:



另外,您可以使用 QFile::exists 检查您设置的文件名是否已经存在。
此外,在设置完所有内容后,您可以调用和处理 QPrinter::supportedResolutions() QPrinter::supportedPaperSources() QPrinter::supportsMultipleCopies() 。当然,打印为 PDF 您可能不必担心这些。

关于qt - QPrinter 中的错误处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33372261/

10-12 07:36