Alles rund um die Programmierung mit Qt
escor
Beiträge: 11 Registriert: 23. Mai 2008 10:39
Beitrag
von escor » 10. Oktober 2008 09:57
Hallo, momentan kann ich in meiner Anwendung drucken, das ganze passiert dann über den Drucken knopf im QPrintPreviewDialog. Jetzt ist meine Frage ob das ganze auch möglich ist ohne den Dialog anzuzeigen. Also dass er gleich auf den Standart Drucker druckt. Kennt dort jemand eine Möglichkeit. Ich konnte bisher nix finden.
So sieht es bisher bei mir aus.
Code: Alles auswählen
void nfd::printKladde( void ) {
QPrinter printer( QPrinter::HighResolution );
QPrintPreviewDialog preview( &printer, this );
printer.setOrientation( QPrinter::Landscape );
connect( &preview, SIGNAL( paintRequested( QPrinter* ) ), SLOT( drawKladde( QPrinter* ) ) );
preview.showMaximized();
preview.exec();
}
void nfd::drawKladde( QPrinter *printer ) {
int minx = 300;
int miny = 300;
QPainter painter( printer );
QFont font = painter.font();
...
TTMPlayer - Open Source Media Player for TomTom Devices
escor
Beiträge: 11 Registriert: 23. Mai 2008 10:39
Beitrag
von escor » 10. Oktober 2008 10:18
Ich hab ein wenig im Qt Quelltext gestöbert und bin selber auf eine Lösung gekommen.
QPrintPreviewDialog preview( &printer, this );
wird einfach durch
QPrintPreviewWidget preview( &printer, this );
ersetzt.
Ebenfalls wird
preview.showMaximized();
preview.exec();
durch
preview.print();
ersetzt.
Code: Alles auswählen
void nfd::printKladde( void ) {
QPrinter printer( QPrinter::HighResolution );
QPrintPreviewWidget preview( &printer, this );
printer.setOrientation( QPrinter::Landscape );
connect( &preview, SIGNAL( paintRequested( QPrinter* ) ), SLOT( drawKladde( QPrinter* ) ) );
preview.print();
}
void nfd::drawKladde( QPrinter *printer ) {
int minx = 300;
int miny = 300;
QPainter painter( printer );
QFont font = painter.font();
...
TTMPlayer - Open Source Media Player for TomTom Devices