2012-07-09 13 views
5

Napisałem kilka przykładowych danych do pliku tekstowego. Chcę wydrukować ten plik tekstowy na moją drukarkę. Czy ktokolwiek mógłby mi powiedzieć, w jaki sposób będzie kod, aby to zrobić za pomocą Qt4?Jak wydrukować plik tekstowy na drukarkę w Qt?

+2

Zapraszamy do obejrzenia [QPrinter] (http://doc.trolltech.com/main-snapshot/qprinter.html) oraz dokumentacji. – Bart

Odpowiedz

10

Będziesz musiał użyć obiektu QPrinter i QPainter, aby wydrukować tekst na drukarce.

Poniższy kod wydrukuje przykładowy tekst na drukarce wybranej z okna dialogowego (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; 
} 

Aby wydrukować zawartość pliku tekstowego, trzeba będzie przeanalizować pliku wiersz po wierszu, aby wygenerować QString z treści. Wygenerowany QString można wydrukować jak przykładowy tekst w przykładzie.

Aby uzyskać więcej informacji przeczytaj docs dla QPrinter i QPainter

Powiązane problemy