2012-07-09 43 views
5

Tôi đã viết một số dữ liệu mẫu vào một tệp văn bản. Tôi muốn in tệp văn bản này vào máy in của mình. Bất cứ ai có thể xin vui lòng cho tôi biết làm thế nào mã sẽ được để làm điều này bằng cách sử dụng Qt4?Làm cách nào để in tệp văn bản sang máy in bằng Qt?

+2

Có một cái nhìn tại [QPrinter] (http://doc.trolltech.com/main-snapshot/qprinter.html) và các tài liệu liên quan. – Bart

Trả lời

10

Bạn sẽ cần sử dụng đối tượng QPrinter và QPainter để in văn bản vào máy in.

Đoạn mã sau sẽ in văn bản mẫu vào máy in được chọn từ hộp thoại (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 nội dung tệp văn bản, bạn sẽ cần phải phân tích cú pháp dòng tệp để tạo một QString với nội dung. QString được tạo có thể được in giống như văn bản mẫu trong ví dụ.

Để biết thêm thông tin đọc các tài liệu cho QPrinterQPainter

Các vấn đề liên quan