Seite 1 von 1

Mehrere Seiten drucken

Verfasst: 21. Mai 2010 14:50
von samsamsam
Hallo allerseits,

ich versuche ein widget zu drucken, welches sich in einer scrollarea befindet. das widget hat ein vboxlayout und hat 4 childwidgets, davon ist eins ein qframe und drei qgraphicsviews:

......
vlayout->addWidget(graphicsView1);
vlayout->addWidget(graphicsView1);
vlayout->addWidget(graphicsView1);
vlayout->addWidget(frame1);
......

Ich versuche das widget zu drucken, indem ich QPixmap::grabWidget() aufrufe. soweit so gut.

Code: Alles auswählen


				QLabel *imageLabel = new QLabel;
				imageLabel->setBackgroundRole(QPalette::Base);
				imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
				imageLabel->setScaledContents(true);

				
				QPixmap pmap1 =   QPixmap::grabWidget(m_wrapper,m_wrapper->rect());
				
				
				//neuen drucker erzeugen
				QPrinter printer;
		

				QPrintDialog dialog(&printer, this);
				if (dialog.exec())
				{

					imageLabel->setPixmap(pmap1);
					QPainter painter3(&printer);
					QRect rect = painter3.viewport();
					QSize size = imageLabel->pixmap()->size();
					size.scale(rect.size(), Qt::KeepAspectRatio);
					painter3.setViewport(rect.x(), rect.y(), size.width(), size.height());
					painter3.setWindow(imageLabel->pixmap()->rect());
					painter3.drawPixmap(0, 0, *imageLabel->pixmap());

					
				}	

ich bekomme alle 4 seiten auf einer seite gedruckt... ich hätte gerne auf 4 seiten gedruckt. für hilfe wär ich dankbar.

Verfasst: 21. Mai 2010 14:52
von samsamsam
kleine berichtigung

vlayout->addWidget(graphicsView1);
vlayout->addWidget(graphicsView2);
vlayout->addWidget(graphicsView3);
vlayout->addWidget(frame1);
......