Drucken ohne QPrintPreviewDialog

Alles rund um die Programmierung mit Qt
Antworten
escor
Beiträge: 11
Registriert: 23. Mai 2008 10:39

Drucken ohne QPrintPreviewDialog

Beitrag von escor »

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 »

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
Antworten