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]