2012-07-09 306 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