2012-07-09 309 views
5

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

+2

看一看[QPrinter则(http://doc.trolltech.com/main-snapshot/qprinter.html)以及相关的文档。 – Bart 2012-07-09 15:07:15

回答

10

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

以下代码将打印示例文本到从对话框(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; 
} 

为了打印文本文件的内容,则需要通过线来解析文件行生成内容为QString。生成的QString可以像示例中的示例文本一样打印。

欲了解更多信息,请阅读文档的QPrinterQPainter