Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何在Qt中将文本文件打印到打印机?_File_Qt_Printing - Fatal编程技术网

File 如何在Qt中将文本文件打印到打印机?

File 如何在Qt中将文本文件打印到打印机?,file,qt,printing,File,Qt,Printing,我已将一些示例数据写入文本文件。我想把这个文本文件打印到我的打印机上。任何人都可以告诉我使用Qt4执行此操作的代码是什么吗?您需要使用QPrinter和QPainter对象将文本打印到打印机上 以下代码将向从对话框(QPrintDialog)中选择的打印机打印示例文本 #包括 #包括 #包括 #包括 int main(int argc,char*argv[]) { 质量保证申请a(argc、argv); QString文本= “Lorem ipsum Door sit amet,圣公会精英,se

我已将一些示例数据写入文本文件。我想把这个文本文件打印到我的打印机上。任何人都可以告诉我使用Qt4执行此操作的代码是什么吗?

您需要使用QPrinter和QPainter对象将文本打印到打印机上

以下代码将向从对话框(QPrintDialog)中选择的打印机打印示例文本

#包括
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QString文本=
“Lorem ipsum Door sit amet,圣公会精英,sed do\n”
“临时劳工和劳工的就业机会”
“在实验室进行最低限度的实习\n”
“从一个普通消费者身上获得的所有信息都是真实的或不真实的\n”
“在福吉亚特郡的一个地方”
“无法定权利,但因不可抗力导致的不可抗力除外,\n”
“我必须为我的生命付出代价。\n”;
打印机;
QPrintDialog*dialog=新建QPrintDialog(&打印机);
对话框->设置窗口标题(“打印文档”);
如果(对话框->执行()!=QDialog::已接受)
返回-1;
油漆工;
画师。开始(打印和打印);
painter.drawText(100100500500,Qt::AlignLeft | Qt::AlignTop,text);
结束();
返回0;
}
为了打印文本文件的内容,您需要逐行解析文件以生成包含内容的QString。生成的QString可以像示例中的示例文本一样打印

有关更多信息,请阅读和的文档查看和相关文档。
#include <QApplication>
#include <QPrinter>
#include <QPrintDialog>
#include <QPainter>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QString text =
            "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n"
            "eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n"
            "enim ad minim veniam, quis nostrud exercitation ullamco laboris\n"
            "nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n"
            "in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n"
            "nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n"
            "sunt in culpa qui officia deserunt mollit anim id est laborum.\n";

    QPrinter printer;

    QPrintDialog *dialog = new QPrintDialog(&printer);
    dialog->setWindowTitle("Print Document");

    if (dialog->exec() != QDialog::Accepted)
        return -1;

    QPainter painter;
    painter.begin(&printer);

    painter.drawText(100, 100, 500, 500, Qt::AlignLeft|Qt::AlignTop, text);

    painter.end();

    return 0;
}