PyQtGraph - открыть «диалоговое окно сохранения файла» с помощью кнопки вместо контекстного меню

В pyqtgraph есть возможность сохранить график как изображение/csv/svg/и т.д. просто щелкнув правой кнопкой мыши на графике и выбрав опцию «Экспорт..». Существует также возможность экспортировать график следующим образом: (при условии, что pw - это мой график)

ex1 = pg.exporters.CSVExporter(pw.plotItem)
ex1.export('test.csv')
ex2 = pg.exporters.SVGExporter(pw.plotItem)
ex2.export('test.svg')
ex3 = pg.exporters.ImageExporter(pw.plotItem)
ex3.export('test.img')

Проблема в том, что я не хочу использовать контекстное меню (и т. д.), ни для прямого сохранения графика в фиксированном формате, ни для предопределенного пути. Мне нужна функция, которая при вызове откроет то же самое «диалоговое окно сохранения файла», которое скрывается в пункте меню «Экспорт ..». Затем я подключу его к кнопке или чему-то еще, и вуаля :)

Любые идеи?


person Devligue    schedule 25.11.2015    source источник
comment
Вы можете использовать диалог QtGui.QFileDIalog.getSaveFileName, подключить его к кнопке, чтобы пользователь мог выбрать имя и место сохранения для вашего файла. Когда у вас есть имя, используйте метод экспорта, предоставленный pyqtgraph.   -  person GiovanniPi    schedule 01.12.2015
comment
Я так и сделал, но это больше похоже на обходной путь. В любом случае спасибо :)   -  person Devligue    schedule 02.12.2015


Ответы (1)


Мне нужно было это сделать, и вот как я это сделал.

from pyqtgraph.GraphicsScene import exportDialog
exportDialog = exportDialog.ExportDialog(pw.plotItem.scene())
exportDialog.show(pw.plotItem)

Это создает диалоговое окно экспорта, которое нацелено на GraphicsScene, содержащую plotItem.

person myopenid    schedule 22.02.2019