Drucken aus QT Applikation funktioniert nicht

"Wolfgang Leideck" <[email protected]>
Newsgroups gmane.linux.suse.programming,gmane.linux.suse.general.german
Message-ID <[email protected]>
Hallo allerseits.

Nachdem ich fälschlicherweise mein erstes Posting in Englisch
geschrieben habe, versuche ich es jetzt mal in Deutsch.

Also, ich benutze Suse 9.3, QT 3.3.4 und KDevelop 3.4.0 zur
Entwicklung einer Anwendung in der u.a. RTF Dokumente gedruckt werden
können sollten. Wenn ich nun ein Dokument drucken möchte passiert
leider gar nichts. Der Drucker-Setup erscheint zwar und ich kann den
Drucker auswählen, aber leider kommt beim Drucker nichts raus. Alle
anderen Desktop Anwendungen drucken einwandfrei. Ach ja, der Drucker
ist über Cups konfiguriert.
Zum Test verwendete ich auch ein Beispielprogramm von QT. Leider
funktionierte dies ebenfalls nicht.

Daraufhin installierte ich QT-3.3.7 aus dem Sourcecode, aber leider
ebenfalls ohne Erfolg.

Meine Frage ist nun, ob jemand eine Ahnung hat, wie ich erstens den
Drucker über QT zum laufen bekomme, oder ob es ein bekanntes Problem
mit Suse und QT diesbezüglich gibt.

Hier mal der Code vom QT-Beispiel, das wie bereits geschrieben
ebenfalls nicht funktioniert.

void Editor::print()
{
    if ( printer.setup(this) ) {                // opens printer dialog
        printer.setFullPage(TRUE);              // we'll set our own margins
        QPainter p;
        p.begin( &printer );                    // paint on printer
        p.setFont( e->font() );
        QFontMetrics fm = p.fontMetrics();
        QPaintDeviceMetrics metrics( &printer ); // need width/height
                                                 // of printer surface
        const int MARGIN = metrics.logicalDpiX() / 2; // half-inch margin
        int yPos        = MARGIN;               // y position for each line

        for( int i = 0 ; i < e->numLines() ; i++ ) {
            if ( printer.aborted() )
                break;
            if ( yPos + fm.lineSpacing() > metrics.height() - MARGIN ) {
                // no more room on this page
                if ( !printer.newPage() )          // start new page
                    break;                           // some error
                yPos = MARGIN;                   // back to top of page
            }
            p.drawText( MARGIN, yPos, metrics.width() - 2*MARGIN,
                        fm.lineSpacing(), ExpandTabs, e->textLine( i ) );
            yPos += fm.lineSpacing();
        }
        p.end();                                // send job to printer
    }
}

Ach ja, ich bin leider gezwungen QT3.x zu benutzen und nicht KDE.

Wolfgang
-- 
Wolfgang Leideck
Alberichstr. 14
D - 68199 Mannheim

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.