Hi!
My program needs to print an plot (QWT plot), so I write fallowing code
void re82print::on_btnPrint_clicked()
{
printer
->setOrientation
( QPrinter::Landscape );
printer
->setPageMargins
(15,
15,
15,
15,
QPrinter::Millimeter);
printer->setFullPage(false);
if ( dialog.exec() )
{
QwtPlotRenderer rend;
rend.setDiscardFlag(QwtPlotRenderer::DiscardNone, true);
rend.setDiscardFlag(QwtPlotRenderer::DiscardBackground, true);
rend.render(mPlot, &painter, printer->pageRect());
painter.end();
}
delete printer;
}
void re82print::on_btnPrint_clicked()
{
QPrinter *printer = new QPrinter();
printer->setOrientation( QPrinter::Landscape );
printer->setPageSize( QPrinter::A4 );
printer->setPageMargins (15,15,15,15,QPrinter::Millimeter);
printer->setFullPage(false);
QPrintDialog dialog( printer , this);
if ( dialog.exec() )
{
QwtPlotRenderer rend;
QPainter painter(printer);
rend.setDiscardFlag(QwtPlotRenderer::DiscardNone, true);
rend.setDiscardFlag(QwtPlotRenderer::DiscardBackground, true);
rend.render(mPlot, &painter, printer->pageRect());
painter.end();
}
delete printer;
}
To copy to clipboard, switch view to plain text mode
on my linux os everything works well but on windows XP it prints a blank page, any ideas why?
// QT 5.3 and pdf printers on both OS
Bookmarks