使用Qt创建者

时间:2016-12-21 08:45:27

标签: c++ qt printing qt-creator

在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();
}

1 个答案:

答案 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();