Я пытаюсь использовать QwtPlotRenderer
сохранить изображение QwtPlot
как постскриптум Это кажется поддерживаемым в документация, Однако всякий раз, когда я рендеринг с расширением «.ps», ничего не происходит.
После некоторых исследований выясняется, что Qt5 удалена поддержка postscript из QPrinter
. Означает ли это, что Qwt 6.1.2 не может отображаться как postscript при использовании Qt 5?
К сожалению, да, это так.
Если мы посмотрим на qwt_plot_renderer.cpp
Исходный код, мы видим, что поддержка postscript не распространяется на Qt версии 5 и выше, почти наверняка, потому что она построена на QPrinter::PostScriptFormat
, который был удален из Qt.
// Excerpt from qwt_plot_renderer.cpp (ln 257)
else if ( fmt == "ps" )
{
#if QT_VERSION < 0x050000
#ifndef QT_NO_PRINTER
QPrinter printer;
printer.setOutputFormat( QPrinter::PostScriptFormat );
printer.setColorMode( QPrinter::Color );
printer.setFullPage( true );
printer.setPaperSize( sizeMM, QPrinter::Millimeter );
printer.setDocName( title );
printer.setOutputFileName( fileName );
printer.setResolution( resolution );
QPainter painter( &printer );
render( plot, &painter, documentRect );
#endif
#endif
}
Тем не менее, Qwt поддерживает множество портативных форматов с Qt 5, включая PDF и SVG, которые являются векторной графикой, и один из которых, вероятно, подходит для большинства приложений.