[Qt-interest] Print QPrintPreviewWidget

Marcelo Estanislau Geyer estanisgeyer at hotmail.com
Mon Dec 22 21:29:45 CET 2008


Hi friends,

I'm
trying to print some pages from a QPrintPreviewWidget, to call
QPrintDialog to set the range of pages want to print, is printed
every page, not the range. What I'm doing wrong? Any suggestions?

Follow small code:

Report.h
--------------


class Report: public QMainWindow
{
	Q_OBJECT
	public:
		Report(QWidget *parent = 0, QWidget *widgetReport = 0);



		QPrinter *printer;

		QPrintPreviewWidget *printPreview;


	private:
		Ui::Report ui;	private slots:		void print();

	protected:
};
#endif

Report.cpp
----------------


#include "Report.h"

Report::Report(QWidget *parent, QWidget *widgetReport)
	:QMainWindow(parent)
{
	ui.setupUi(this);
	setAttribute(Qt::WA_DeleteOnClose);
	this->showMaximized();

         printer = new QPrinter(QPrinter::HighResolution);
	printer->setOutputFormat(QPrinter::NativeFormat);
	printer->setOrientation(QPrinter::Portrait);
	printer->setPaperSize(QPrinter::A4);
	printer->setFullPage(true);

         printPreview = new QPrintPreviewWidget(printer, this);
	ui.gridLayout1->addWidget(printPreview);

         connect(ui.ActPrint, SIGNAL(triggered()), this, SLOT(print()));
	connect(printPreview, SIGNAL(paintRequested(QPrinter*)), widgetReport, SLOT(Print(QPrinter*)));
	printPreview->fitInView();

	printPreview->show();
}




void Report::print()
{
	QPrintDialog printDialog(printer, printPreview);
	printDialog.setMinMax(1, printPreview->numPages());
	if (printDialog.exec() == QDialog::Accepted)
	{                qDebug() << printPreview->numPages(); // OK, its return 3 pages, but print all if range is one or two.

		printPreview->print();
	}
}

Thanks,

Marcelo E. Geyer
Brazil.

_________________________________________________________________
Organize seus contatos! O jeito mais fácil de manter a sua lista de amigos sempre em ordem!
http://www.microsoft.com/windows/windowslive/events.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20081222/df878f15/attachment.html 


More information about the Qt-interest-old mailing list