Qt5 нарушает поддержку постскриптума QwtPlotRenderer?

Я пытаюсь использовать QwtPlotRenderer сохранить изображение QwtPlot как постскриптум Это кажется поддерживаемым в документация, Однако всякий раз, когда я рендеринг с расширением «.ps», ничего не происходит.

После некоторых исследований выясняется, что Qt5 удалена поддержка postscript из QPrinter. Означает ли это, что Qwt 6.1.2 не может отображаться как postscript при использовании Qt 5?

2

Решение

К сожалению, да, это так.

Если мы посмотрим на 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, которые являются векторной графикой, и один из которых, вероятно, подходит для большинства приложений.

2

Другие решения


По вопросам рекламы [email protected]