Как сохранить график как изображение в QT - PullRequest
0 голосов
/ 20 августа 2011

Я создал диаграмму в QT.Есть ли способ, которым я могу сохранить это как изображение?

Спасибо,

1 Ответ

5 голосов
/ 20 августа 2011

Когда вы говорите диаграмму, я предполагаю, что это какая-то векторная графика или что-то подобное. Я обычно экспортирую их в PDF, используя QPrinter, а затем использую их в своих документах (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, но подойдет любой QWidget или объект, поддерживающий рендеринг в QPainter. Подробности смотрите QWidget :: render () . Код выше на самом деле позволяет даже печатать на реальном принтере. Но я обычно просто устанавливаю «Печать в PDF» в диалоговом окне принтера. Если вам не нужно диалоговое окно принтера, вы можете пропустить его и использовать QPrinter :: setOutputFilename для прямой установки имени файла PDF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...