一、前言
我们使用基于QWT开发的软件实现数据可视化后,可能需要将数据图表导出到本地,QWT提供了QwtPlotRenderer
类来实现这一功能;
二、详细说明
主要通过如下两个API来导出图表
void renderDocument( QwtPlot *, const QString &fileName,
const QSizeF &sizeMM, int resolution = 85 );
bool exportTo( QwtPlot *, const QString &documentName,
const QSizeF &sizeMM = QSizeF( 300, 200 ), int resolution = 85 );
导出格式可供选择的有:PDF、SVG、PS、Image各种格式,如下图所示:
!!!注意!!!: 导出图表API自带保存文件选择框,此时再使用QFileDialog,则软件闪退,例如:
QString fileName = QFileDialog::getOpenFileName(this,"保存文件");
if(!fileName.isEmpty()) {
QwtPlotRenderer renderer;
renderer.exportTo(get_currentWindow()->m_list_PlotWidgets.at(get_currentWindow()->m_tabWidget->currentIndex())->m_plotView, fileName);
}