Steuercodes mit Qt an Drucker senden

Alles rund um die Programmierung mit Qt
Antworten
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Steuercodes mit Qt an Drucker senden

Beitrag von NoRulez »

Hi @all,

in meinem Python "Test" Skript schicke ich verschiedene Drucker steuercodes und funktioniert wunderbar

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

def main():
    try:
        prn = open("/dev/usb/lp0", 'wb')
        # Initialize
        prn.write("\x1B\x40")

        # Cut paper
        prn.write("\x1D\x56\00")
        prn.close()
    except IOError:
        print "Drucker ist nicht schreibbar"

if __name__ == "__main__":
    main()
Ich würde das ganze gerne mit Qt lösen, jedoch scheint es mit QByteArray und QFile bzw. QTextStream und QDataStream nicht zu funktionieren, was heißt das der Drucker gar nichts tut.

Code: Alles auswählen

    const char prnInit[] = {0x1B, 0x40};
    const char prnLineFeed[] = {0x0A};
    const char prnCutPaper[] = {0x1D, 0x56, 0x00};
    QFile prnDev("/dev/usb/lp0");

    if (!prnDev.open(QIODevice::WriteOnly)) {
        m_ui->labelMessage->setText(m_ui->labelMessage->text() + "Can't write to printer device\n");
        return;
    }
    prnDev.write(prnInit);
    prnDev.write(prnCutPaper);
    prnDev.close();
Kann mir jemand sagen wie ich das am besten mit Qt realisiere?

Vielen Dank im Voraus

LG NoRulez
ms47
Beiträge: 35
Registriert: 22. Januar 2009 10:02

Beitrag von ms47 »

Hi,

auch wenn es etwas spät ist, aber vielleicht interessiert es ja doch jemanden:
das geht mit file.write(QByteArray)

Code: Alles auswählen

QFile file( "/dev/lp0" );
if( !file.open(QIODevice::WriteOnly) )
{
    return;
}
file.write( QByteArray::fromHex("1B40") ); //init printer
//die Hex-Werte werden nicht in \x1B sondern in 1B direkt angegeben
//weitere Kommandos
file.flush();
file.close();
Habe das letzte Tage so auf nen parallelen Drucker realisiert.

Gruß
Markus
NoRulez
Beiträge: 208
Registriert: 19. Juni 2007 15:43

Beitrag von NoRulez »

Herzlichen Dank

LG NoRulez
Aenni
Beiträge: 79
Registriert: 15. Juli 2010 22:29

Re: Steuercodes mit Qt an Drucker senden

Beitrag von Aenni »

Hallo zusammen,

entschuldigt, dass ich den alten thread raushole - aber ich würde gerne an einen usb Drucker steuercodes senden. Das obige Beispiel schickt die Steuercodes an /dev/lp0 (das ist meines Wissens Linux Only) nun ist die Frage wie ich in Windows die Steuercodes an den USB Port schicke? Ist dies überhaupt so einfach via file möglich? SUFU und Google haben mir leider nicht geholfen.

Danke im Voraus!
Antworten