我想在Qt控制台应用程序中创建一个PDF文件。但是创建文件的文件大小为0B,我无法打开它。 GUI应用程序中的相同代码有效。控制台和gui应用程序中的代码之间的区别在哪里?我该怎么做才能使代码在控制台应用程序中运行? 提前感谢您的帮助!
#include <QCoreApplication>
#include <QPrinter>
#include <QTextDocument>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString html = "<h1>Hi!</h1>";
QTextDocument document;
document.setHtml(html);
QPrinter printer(QPrinter::PrinterResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("test.pdf");
document.print(&printer);
return a.exec();
}
答案 0 :(得分:2)
这里有效。
#include <QApplication>
#include <QPrinter>
#include <QTextDocument>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString html = "<h1>Hi!</h1>";
QTextDocument document;
document.setHtml(html);
QPrinter printer(QPrinter::PrinterResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("test.pdf");
document.print(&printer);
return a.exec();
}
所以看起来您只需要QCoreApplication
更改QApplication
。