matplotlib窗口图标默认是matplotlib的标志,如果想修改怎么改呢?
由于我选择的matplotlib后端是PyQT5,直接查看matplotlib.backends.backend_qt5模块源码。

原理

查看源码可知,窗口图标功能定义在FigureManagerQT类中,设置的默认图标是mpl-data\images\matplotlib.svg
FigureManagerQT的父类是FigureManagerBase,其功能是作为容器隔离matplotlib图像和后端实现的窗口,并与窗口进行交互,它会自动适配matplotlib选用的后端。
这样只用找到当前图像中FigureManagerQT类的实例(即当前图像的图像管理器)后调用setWindowIcon方法即可完成窗口图标的更改。
获取当前图像的图像管理器有两种写法,因此,更改窗口图标的实现有两种。
根据matplotlib.pyplot.get_current_fig_manager()函数源码可知这两种方法是等价的。

实现代码

import matplotlib.pyplot as plt
from PyQt5 import QtGuiplt.plot([1,2])
# 构建图标
PATH_TO_ICON = r"c:\quit.png"
new_icon = QtGui.QIcon(PATH_TO_ICON)
# 方法一:使用figure.canvas.manager获取当前图像的`FigureManagerQT`类实例
fig =plt.gcf()
fig.canvas.manager.window.setWindowIcon(QtGui.QIcon(new_icon))# 方法二:使用plt.get_current_fig_manager()获取当前图像的`FigureManagerQT`类实例
plt.get_current_fig_manager().window.setWindowIcon(new_icon)
plt.show()

matplotlib源码

class FigureManagerQT(FigureManagerBase):"""Attributes----------canvas : `FigureCanvas`The FigureCanvas instancenum : int or strThe Figure numbertoolbar : qt.QToolBarThe qt.QToolBarwindow : qt.QMainWindowThe qt.QMainWindow"""def __init__(self, canvas, num):FigureManagerBase.__init__(self, canvas, num)self.window = MainWindow()self.window.closing.connect(canvas.close_event)self.window.closing.connect(self._widgetclosed)self.window.setWindowTitle("Figure %d" % num)image = str(cbook._get_data_path('images/matplotlib.svg'))self.window.setWindowIcon(QtGui.QIcon(image))
def get_current_fig_manager():return gcf().canvas.manager

matplotlib更改窗口图标相关推荐

  1. windows编程如何更改窗口图标和光标

     [更改窗口图标] 首先右击LoadIcon里面的参数  点击转到定义 左边IDI开头的参数就是系统自带的图标啦! 你可以随意复制一个参数,然后返回上层,粘贴进去,你会发现窗口的图标发生变化了!  [ ...

  2. 更改窗口图标并将其显示在任务栏

    以下两个函数可以为应用程序中的各子窗口显示一个任务条到任务栏并更改它们的图标.对那些象QQ一样隐藏主窗口的应用程序特别有用. //函数用途:更改一个窗口的图标并将其显示在任务栏.任务切换条.任务管理器 ...

  3. VC动态更改窗口图标

    动态的更改窗口的图标非常的简单,其原来就是给目标窗口发送一个WM_SETICON消息既可.我们可以调用SendMessage系统API来给窗口发送消息,当然在MFC程序里我们使用如下更为简单的方法: ...

  4. 1211笔记关于//modal//更改窗口的根控制器//数据存取//Plist属性列表//-“沙盒机制”//plis属性列表//偏好设置//归档普通对象//联系人数据存储//协议与回调函数...

    笔记的完整版pdf文档下载地址:https://www.evernote.com/shard/s227/sh/aba2aa01-4d96-429d-9bbd-2f285c7c0c79/65772262 ...

  5. win7怎么把计算机放到桌面6,win7系统如何设置更改桌面图标?

    其实,很多朋友在使用电脑的时候,都喜欢更改图标,比如说不喜欢现在的图标,想要改一个更加有意思的图标.有时候,桌面的图标突然就变大或者变小了,看起来很不美观,也想要更改桌面图标,那么应该怎么操作呢?下面 ...

  6. android 清单文件注册,在AndroidManifest(清单文件)中注册activity(活动)及配置主活动、更改App图标、App名称、修改隐藏标题栏...

    打开app/src/main/AndroidManifest. package="com.example.administrator.myapplication" > and ...

  7. 怎样更改计算机文件图标,如何更改文件图标,教您Win7如何更改图标

    想有不少的用户有过这样的经历,有时候会看到别人电脑上面的图标比较别致,觉得太有个性了,和我们普通的是不同的,你是不是也想为自己的文件夹换换图标呢,不知道?下面,小编就来跟大家分享Win7更改图标的方法 ...

  8. python在电脑上的图标_python-设置窗口图标

    python-设置窗口图标 当我尝试使用以下代码将左上角的窗口图标从难看的红色" TK"更改为我自己的收藏夹图标时,Python抛出错误: from tkinter import ...

  9. win7 64计算机图标如何设置,Win7 64位系统下如何自定义更改磁盘图标【图文】

    每次打开计算机后看到的磁盘都是一样的图标大家应该也有点腻了吧,其实我们可以通过自定义更改磁盘图标的方法来让本地磁盘更新颖,那么在win7 64位系统下如何更改呢?方法也是很简单的,下面跟随小编来学习一 ...

最新文章

  1. iOS自动签名打包(xcodebuild)----常用
  2. 智能音箱自己把自己黑了:随机购物拨号,自主开灯关门,平均成功率达88%
  3. 第四范式陈雨强:做机器学习平台天然就是新基建丨新基建50人
  4. 【数据结构与算法】之深入解析“消除游戏”的求解思路与算法示例
  5. 开发人员也要懂点的测试知识
  6. SpringBoot FK-关联表查询(三)
  7. Home_W的握手问题(思维+打表)
  8. 负载均衡算法及手段(转)
  9. 数据--第23课 - 队列的优化实现
  10. python求解重叠区域线段覆盖总长度
  11. 深圳能耗管理系统_综合能源管理平台
  12. 联想x3850x6从u盘引导_联想笔记本bios设置u盘启动教程
  13. Opencv项目实战:03 扫描二维码条形码
  14. KEEP TURE
  15. 2021年最好的Laravel教程
  16. java工程项目的结构拆分
  17. 设计模式-代理模式 C#版本
  18. Dashboard设计
  19. Loosely Coupled: The Missing Pieces of Web Services
  20. 解密支付宝所谓黑科技神码

热门文章

  1. 金山快盘服务器维护中,金山快盘为什么停止服务
  2. 什么是java工程师
  3. QScrollArea滚动条区域
  4. promise解决回调地狱的问题
  5. 2015图片处理软件排行榜
  6. 使用ggplot2画 点图、箱线图、小提琴图、蜂窝图、云雨图
  7. 转:新浪给微米定下了哪些要求?
  8. 几个学习Silverlight及Silverlight示例的网站
  9. P315 GCD等于XOR UVa12176 “不难发现”的解释 以及完整推导过程
  10. pyecharts折现面积图例题