使用QT创建者将文本打印在C 中

Print the text in C++ using Qt creator

本文关键字:打印 文本 QT 创建者 使用      更新时间:2023-10-16

使用C 作为QT创建者中的语言我创建了一个记事本(与Microsoft Windows的简单文本编辑器相同,这是一个基本的文本编辑程序),但我找不到确切的其打印选项的代码以将其保存为图像或PDF文件,并打印创建的记事本中写的内容。书面代码错误说

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

您可以将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();