Weiter Zurück Inhaltsverzeichnis
In diesem Kapitel werden wir Ihnen zeigen, wie einfach es ist, Druckerfunktionen mit Qt zu implementieren. Tatsächlich ist es
nur eine Zeile Code, die wir schreiben müssen, aber wir werden verstehen, wer den Druckauftrag eigentlich ausführt. Wenn der
Benutzer den "Drucken" Knopf in KScribble benutzt oder "Drucken" aus dem Dateimenü wählt, wird die slotFilePrint()
Methode in KScribbleApp
aufgerufen. Diese Methode prüft, welches Kindfenster gerade aktiv ist und erzeugt eine Instanz
der Druckerklasse QPrinter
. Dann ruft sie die Druckmethode des Widgets auf, nämlich KScribbleView::print()
. Das
Framework enthält bereits die Basisimplementation- was zeigt, daß Sie zum Drucken nur die Klasse QPainter
verwenden
müssen, die dann auf dem Drucker ausgibt. Diese Klasse ruft auch den Druckdialog auf.
Was wir hier tun müssen, ist QPainter
Methoden zu benutzen, um das Pixmap des Dokuments zu drucken, das mit der Ansicht
verbunden ist. Da QPainter
bereits einen Satz an drawPixmap()
Methoden anbietet, werden wir natürlich eine davon
benutzen:
void KScribbleView::print(QPrinter *pPrinter) { if (pPrinter->setup(this)) { QPainter p; p.begin(pPrinter); /////////////////////////////// // TODO: add your printing code here -> p.drawPixmap(0,0,doc->buffer); /////////////////////////////// p.end(); } }
Hier drucken wir unser gepuffertes Pixmap des Dokuments in den Offset 0,0 der Druckerseite. Das ist alles!
Sie können es einfach einmal ausprobieren- Sie können nun jede Grafik drucken, die KScribble öffnen kann.
Dies ist das Ende unserer Tour durch die Erstellung einer KDE 2 Anwendung. Sie können das Quellpaket von KScribble inklusive einer Erweiterung, die Ausschneiden, Kopieren, Einfügen und Wiederrufen sowie Drag&Drop Funktionen hinzufügt, hier finden:
$(KDEDIR)/share/apps/kdevelop/examples/kscribble-1.0.tar.gz
Das Beispieltarball ist lokal installiert und kann in Ihr Homerverzeichnis kopiert werden, wo Sie es auspacken und testen können.
Nach dem Auspacken mit tar zxvf kscribble-1.0.tar.gz
laden Sie das Projekt und rufen Sie "Automake und Autoconf" aus dem
"Erstellen" Menü in KDevelop auf. Dann wählen Sie "Configure" aus dem gleichen Menü. Die Konfigurationen sind die meiner
Installation von KDE 2 und Qt 2.1, Sie müssen sie also an Ihre Installation anpassen.
Der Anhang enthält ebenfalls den kompletten Quellcode für dieses Paket, so daß Sie ihn Online lesen können.
Weiter Zurück Inhaltsverzeichnis