2012-07-09 37 views
5

He escrito algunos datos de muestra en un archivo de texto. Quiero imprimir este archivo de texto en mi impresora. ¿Alguien podría decirme cómo será el código para hacer esto usando Qt4?¿Cómo imprimir archivos de texto en la impresora en Qt?

+2

un vistazo a [QPrinter] (http://doc.trolltech.com/main-snapshot/qprinter.html) y la documentación relacionada. – Bart

Respuesta

10

Deberá usar una QPrinter y un objeto QPainter para imprimir texto en la impresora.

El siguiente código imprimirá un texto de muestra en una impresora seleccionada desde un cuadro de diálogo (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; 
} 

Con el fin de imprimir el contenido del archivo de texto, que se necesitan para analizar el archivo línea por línea para generar un QString con el contenido. El QString generado se puede imprimir como el texto de muestra en el ejemplo.

Para obtener más información, lea la documentación de QPrinter y QPainter

Cuestiones relacionadas