如何在Qt中打印文本文件到打印机? [英] How to print text file to printer in Qt?

查看:1175
本文介绍了如何在Qt中打印文本文件到打印机?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经写了一些示例数据到一个文本文件。我想打印这个文本文件到我的打印机。任何人都可以告诉我,代码将如何使用Qt4来做到这一点?

解决方案

您将需要使用QPrinter和一个QPainter对象来打印文本到打印机。

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

  #include< QApplication> 
#include< QPrinter>
#include< QPrintDialog>
#include< QPainter>
$ b int main(int argc,char * argv [])
{
QApplication a(argc,argv);

QString text =
Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do'\

eiusmod tempor incididunt ut labore et dolore magna aliqua。Ut\ nb $ benim ad minimi veniam,quis nostrud practitation ullamco labouris'n
nisi ut aliquip ex ea commodo consequat。Duis aute irure dolor \\
in renrenderit in如果你是一个非常重要的人,那么你就是一个非常重要的人,而不是一个非常重要的人。 ;

QPrinter打印机;

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

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

QPainter画家;
painter.begin(& printer);

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

painter.end();

返回0;



$ b为了打印文本文件的内容,你需要解析文件一行一行地生成一个带有内容的QString。生成的QString可以像示例文本那样打印。



有关更多信息,请阅读 QPrinter QPainter


I have written some sample data onto a text file. I want to print this text file to my printer. Could anyone please tell me how the code will be in order to do this using Qt4?

解决方案

You will need to use a QPrinter and a QPainter object to print text to the printer.

The following code will print a sample text to a printer selected from a dialog box (QPrintDialog).

#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;
}

In order to print the content of your text file, you will need to parse the file line by line to generate a QString with the content. The generated QString can be printed like the sample text in the example.

For more information read the docs for QPrinter and QPainter

这篇关于如何在Qt中打印文本文件到打印机?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆