在Qt Creator中使用C ++作为语言我创建了一个记事本(与Microsoft Windows的简单文本编辑器相同,这是一个基本的文本编辑程序)但我找不到其打印选项的确切代码以保存为图像或pdf文件,并打印在创建的记事本中写入的内容。书面代码会出错
...\NotePad\mainwindow.cpp:5: error: QPrinter: No such file or directory
#include <QPrinter>
编写的代码
#include <QPrinter>
void MainWindow::on_actionPrint_triggered()
{
QPrinter printer(QPrinter::HighResolution);
printer.setOutputFileName("print.ps");
painter.end();
}
答案 0 :(得分:3)
您可以使用QTextDocument
进行简单的打印任务。假设您已将文本加载到其中,您可以执行以下操作(我以打印为pdf为例,您可以在任何地方打印):
QTextDocument doc; // your text is here
QPrinter printer;
printer.setOutputFileName("<your_file_name_goes_here");
printer.setOutputFormat(QPrinter::PdfFormat);
doc.print(&printer);
printer.newPage(); // this might not be necessary if you want just 1 page, I'm not sure
如果你想使用QPainter,你应该
QPrinter printer;
// setup the printer
QPainter painter;
if(!painter.begin(&printer))
{
// return, throw exception, whatever
}
painter.drawText(10, 10, "your_text");
printer.newPage(); // Again, this might not be necessary if you want just 1 page, I'm not sure
painter.end();