C++ 如何在QT中将图表另存为图像

C++ 如何在QT中将图表另存为图像,c++,qt,C++,Qt,我已经在QT中创建了一个图表。有没有一种方法可以将此保存为图像 谢谢,当你说图表时,我假设它是某种向量图形或类似图形。我通常使用QPrinter将它们导出为PDF格式,然后在我的文档中使用它们(LaTeX、Keynote等)。 下面是一段代码片段,可能会有所帮助。未经测试,因为我将它从Python移植回了C++: QPrinter *printer = new QPrinter(); printer->setOrientation(QPrinter::Landscape); Q

我已经在QT中创建了一个图表。有没有一种方法可以将此保存为图像


谢谢,

当你说图表时,我假设它是某种向量图形或类似图形。我通常使用QPrinter将它们导出为PDF格式,然后在我的文档中使用它们(LaTeX、Keynote等)。 下面是一段代码片段,可能会有所帮助。未经测试,因为我将它从Python移植回了C++:

  QPrinter *printer = new QPrinter();
  printer->setOrientation(QPrinter::Landscape);
  QPrintDialog *dialog = new QPrintDialog(printer);
  dialog->setWindowTitle("Print Plots");
  if (dialog.exec() != QDialog::Accepted)
     return;
  QPainter *painter = new QPainter();
  painter->begin(printer);
  ui->someQwtPlot->print(painter, printer->pageRect());
  painter->end();
  delete(dialog);
  delete(painter);
  delete(printer);

我假设您正在使用QwtPlot创建一个绘图,但是任何支持渲染到QPaint的QWidget或对象都可以。有关详细信息,请参阅。上面的代码实际上允许您甚至可以打印到真正的打印机上。但我通常只是在打印机对话框中设置“打印为PDF”。如果不需要“打印机”对话框,可以跳过它并使用直接设置PDF文件名

当你说图表时,我假设它是某种向量图形或类似图形。我通常使用QPrinter将它们导出为PDF格式,然后在我的文档中使用它们(LaTeX、Keynote等)。 下面是一段代码片段,可能会有所帮助。未经测试,因为我将它从Python移植回了C++:

  QPrinter *printer = new QPrinter();
  printer->setOrientation(QPrinter::Landscape);
  QPrintDialog *dialog = new QPrintDialog(printer);
  dialog->setWindowTitle("Print Plots");
  if (dialog.exec() != QDialog::Accepted)
     return;
  QPainter *painter = new QPainter();
  painter->begin(printer);
  ui->someQwtPlot->print(painter, printer->pageRect());
  painter->end();
  delete(dialog);
  delete(painter);
  delete(printer);
我假设您正在使用QwtPlot创建一个绘图,但是任何支持渲染到QPaint的QWidget或对象都可以。有关详细信息,请参阅。上面的代码实际上允许您甚至可以打印到真正的打印机上。但我通常只是在打印机对话框中设置“打印为PDF”。如果不需要“打印机”对话框,可以跳过它并使用直接设置PDF文件名