Название: Вывод на печать из qwtplot [РЕШЕНО]
Отправлено: QPeter от Апрель 14, 2014, 11:43
Добрый день, подскажите пожалуйста как вывести на печать содержимое qwtplot, а то гугление не привело ни к каким успешным результатам. ??? Вообще в приложении на печать помимо содержимого qwtplot, выводится содержимое textbrowser и оно реализовано так: void Form::on_pbPrintResult_clicked() { QPrinter printer(QPrinter::HighResolution); QPrintDialog *dlg = new QPrintDialog(&printer, this); if (ui->textBrowser->textCursor().hasSelection()) dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection); dlg->setWindowTitle(tr("Print Document")); if (dlg->exec() == QDialog::Accepted) { ui->textBrowser->print(&printer); } delete dlg; }
Название: Re: Вывод на печать из qwtplot
Отправлено: VanDerSam от Апрель 14, 2014, 21:14
Здравствуйте. В исходных кодах Qwt (каталог examples) есть пример bode. В нём имеются средства печати графика.
Название: Re: Вывод на печать из qwtplot
Отправлено: QPeter от Апрель 15, 2014, 01:52
Спасибо большое, за то что откликнулись...разобрался.) Вот код функции печати на будущее, мало ли кому нужно будет, чтоб не искали: QPrinter printer( QPrinter::HighResolution );
QString docName = "График"; if ( !docName.isEmpty() ) { docName.replace ( QRegExp ( QString::fromLatin1 ( "\n" ) ), tr ( " -- " ) ); printer.setDocName ( docName ); }
printer.setCreator( "Bode example" ); printer.setOrientation( QPrinter::Landscape );
QPrintDialog dialog( &printer ); if ( dialog.exec() ) { QwtPlotRenderer renderer;
if ( printer.colorMode() == QPrinter::GrayScale ) { renderer.setDiscardFlag( QwtPlotRenderer::DiscardBackground ); renderer.setDiscardFlag( QwtPlotRenderer::DiscardCanvasBackground ); renderer.setDiscardFlag( QwtPlotRenderer::DiscardCanvasFrame ); renderer.setLayoutFlag( QwtPlotRenderer::FrameWithScales ); }
renderer.renderTo( ui->wgtResult, printer ); }
|