问题

想在软件界面用PyQt6的QtChart新画一张饼图,自定义一个饼图类继承QChartView:

class PyPieChart(QChartView):
def __init__(
self,
series,
bg_visible=False,
bg_color="#44475a"
): self.pie_series = QPieSeries()
self.set_series(series) self.chart = QChart()
self.chart.addSeries(self.pie_series)
self.chart.legend().hide() # 设置不显示背景
self.chart.setBackgroundVisible(bg_visible) def set_series(self, series):
# 先清空
for item in self.pie_series.slices():
self.pie_series.remove(item) # 再添加
for item in series:
if isinstance(item, list):
slice = QPieSlice(label=item[0], value=item[1])
else:
slice = QPieSlice(label=item, value=0) self.pie_series.append(slice)

结果示例:



发现还是有白色的背景,然后讲代码改成:

# self.chart.setBackgroundVisible(bg_visible)
self.chart.setBackgroundPen(QPen(QColor(bg_color)))

发现chart的背景其实就那么大,隐藏背景也是有作用的,只是不是所希望的那样。

解决

由于这个PyPieChart继承了QChartView,而QChartView继承了QtWidgets.QGraphicsView,因此尝试了修改图上一层widget的背景:

# 设置不显示背景
self.chart.setBackgroundVisible(bg_visible)
self.setStyleSheet("background-color: %s" % bg_color)

结果顺利满足需求:

【PyQt6】Python使用QtCharts画图修改背景色的问题的更多相关文章

  1. Adobe Acrobat Pro 修改背景色

      Adobe Acrobat Pro 如何修改背景色 CreateTime--2017年8月1日10:05:58Author:Marydon 参考:百度经验 在菜单栏选择“编辑”,下拉栏中选择最后一 ...

  2. Ubuntu 13.10 如何修改背景色--豆沙绿

    如何修改Ubunut 13.10的窗口背景色,在网上找到了多资料,安装了dconf,Unity Tweak Tool,GNOME Color Chooser都无法修改背景色. 最后,还是直接去修改主题 ...

  3. python使用matplotlib画图

    python使用matplotlib画图 matplotlib库是python最著名的画图库.它提供了一整套和matlab类似的命令API.十分适合交互式地进行制图. 先介绍了怎样使用matplotl ...

  4. 如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline

    如何在Python中快速画图--使用Jupyter notebook的魔法函数(magic function)matplotlib inline 先展示一段相关的代码: #we test the ac ...

  5. 炼数成金数据分析课程---10、python中如何画图

    炼数成金数据分析课程---10.python中如何画图 一.总结 一句话总结: 主要matplotlib库,pandas中也可以画一些基础图 大纲+实例快速学习法 1.matplotlib的最简单画图 ...

  6. 面试官问我:如何在 Python 中解析和修改 XML

    摘要:我们经常需要解析用不同语言编写的数据.Python提供了许多库来解析或拆分用其他语言编写的数据.在此 Python XML 解析器教程中,您将学习如何使用 Python 解析 XML. 本文分享 ...

  7. python使用matplotlib画图,jieba分词、词云、selenuium、图片、音频、视频、文字识别、人脸识别

    一.使用matplotlib画图 关注公众号"轻松学编程"了解更多. 使用matplotlib画柱形图 import matplotlib from matplotlib impo ...

  8. python批量进行文件修改操作

    python批量修改文件扩展名 在网上下载了一些文件,因为某种原因,扩展名多了一个后缀'.xxx',手动修改的话因为文件太多,改起来费时费力,于是决定写个小脚本进行修改. 1.要点: import r ...

  9. 自己python程序的并行修改

    遇到运算量大的程序,学习了下python并行运算的方法,在自己的程序上进行了修改,看看是否可以增加效率.原始代码是: import gt_apps as my_apps f=file('sample. ...

  10. python 全局变量引用与修改

    一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if ...

随机推荐

  1. maven jar包新版本检测工具推荐

    为什么需要 经常使用maven来构建项目的朋友,应该遇到过类似这样的情况:项目通过maven引入了很多jar包,随着时间推移,这些jar包都有了更优的新版本出来,想升级,但又觉得很繁琐.主要是因为两方 ...

  2. 查找大文件-清理linux磁盘

    https://www.cnblogs.com/kerrycode/p/4391859.html find . -type f -size +800M  -print0 | xargs -0 du - ...

  3. 本地CentOS8 配置ssh免密登录服务器

    准备工作: 1.确认本机sshd的配置文件(需要root权限) $ vi /etc/ssh/sshd_config 找到以下内容,并去掉注释符"#" AuthorizedKeysF ...

  4. 移动端wifi测试点总结

    1.WiFi功能测试: 验证WiFi模块设置(如:添加AP.静态IP及动态IP的设置等)的相应功能是否正常: 2.WiFi特性专项测试: 1)WiFi打开速度或搜索速度的测试:验证WiFi,WiFi打 ...

  5. EXCEL函数总结

    ------------------截取"号"之前的字符 =MID(A45,1,FIND("号",A45,1)-1)

  6. 在VSCODE的终端运行Python时汉字乱码问题处理

    问题描述 在VSCODE的终端运行Python时,打印输出中文时汉字出现乱码, 文件编码都是UTF-8 解决步骤 1.打开Settings配置窗口(Ctrl+,) 2.搜索:code-runner.e ...

  7. conda 备份与还原环境

    文章目录 1.创建环境2.激活环境3.安装包(1)手动一个一个安装(2)批量安装4.卸载包(1)手动一个一个卸载(2)批量卸载5.查看当前环境中所有已安装的包6.退出当前环境方法1:激活base环境即 ...

  8. ES 快速开始

    ES语句构造麻烦,每次都拼,这次备份一下 1. 创建索引 PUT http://sae1002.qihoo.ai:9200/kosmos {"settings":{"in ...

  9. Codeforces Round #769 (Div. 2) - D. New Year Concert

    GCD + st表 + 二分 Problem - 1632D - Codeforces 题意 给出一个长度为 \(n\;(1<=n<=2*10^5)\) 的数组 \(a[i]\;(1< ...

  10. windows检查

    # coding: UTF-8 import psutil import platform import re def get_cpu_used(upu_base, interval=1): perc ...