2012-07-09 3 views
5

Ich habe einige Beispieldaten in eine Textdatei geschrieben. Ich möchte diese Textdatei auf meinem Drucker ausdrucken. Könnte mir bitte jemand sagen, wie der Code sein wird, um dies mit Qt4 zu tun?Wie man Textdatei zum Drucker in Qt druckt?

+2

Werfen Sie einen Blick auf [QPrinter] (http://doc.trolltech.com/main-snapshot/qprinter.html) und die dazugehörige Dokumentation. – Bart

Antwort

10

Sie müssen einen QPrinter und ein QPainter-Objekt verwenden, um Text auf dem Drucker zu drucken.

Der folgende Code wird einen Beispieltext an einen Drucker drucken, der in einem Dialogfeld (QPrintDialog) ausgewählt wurde.

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

Um den Inhalt der Textdatei zu drucken, müssen Sie die Datei Zeile für Zeile analysieren eine QString mit dem Inhalt zu erzeugen. Der generierte QString kann wie der Beispieltext im Beispiel gedruckt werden.

Für weitere Informationen lesen Sie die Dokumentation für QPrinter und QPainter

Verwandte Themen