首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PyQt5中将图表另存为图像

在PyQt5中将图表另存为图像
EN

Stack Overflow用户
提问于 2021-04-18 05:40:23
回答 1查看 39关注 0票数 0

我试图将PyQt5小部件上的图表另存为图片(.png或.jpg),但没有找到这样做的方法。创建图表的代码:

代码语言:javascript
复制
self.clearLayout(self.diagram_up)
    self.series_ = QPieSeries()
    self.series_.setHoleSize(0.35)
    self.slice_ = QPieSlice()
    self.slice_.setExploded()
    self.slice_.setLabelVisible()
    for slice in self.series_.slices():
        slice.setLabel("<h3>{:.2f}%</h3>".format(100 * slice.percentage()))
    self.chart_ = QChart()
    self.chart_.legend().hide()
    self.chart_.addSeries(self.series_)
    self.chart_.setAnimationOptions(QChart.SeriesAnimations)
    self.chart_.setTitle("<span style='color: black; font-size: 18pt;'>Статистика по операциям</span>")
    self.chartview_ = QChartView(self.chart_)
    self.chartview_.setRenderHint(QPainter.Antialiasing)
    self.diagram_up.addWidget(self.chartview_)
EN

回答 1

Stack Overflow用户

发布于 2021-04-18 05:46:47

QChartView是一个QGraphicsView,所以您可以使用render方法。

代码语言:javascript
复制
pixmap = QPixmap(self.chartview_.sceneRect().size().toSize())
pixmap.fill(QColor("transparent"))

painter = QPainter(pixmap)
painter.setRenderHint(QPainter.Antialiasing)

self.chartview_.render(painter)
painter.end()

pixmap.save("image.png")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67143194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档