• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    matplotlib更改窗口图标的方法示例

    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 QtGui
    
    plt.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 instance
      num : int or str
        The Figure number
      toolbar : qt.QToolBar
        The qt.QToolBar
      window : qt.QMainWindow
        The 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更改窗口图标的方法示例的文章就介绍到这了,更多相关matplotlib更改窗口图标内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python matplotlib坐标轴设置的方法
    • Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
    • python使用matplotlib绘制柱状图教程
    • python学习之matplotlib绘制散点图实例
    • 用matplotlib画等高线图详解
    • python Matplotlib画图之调整字体大小的示例
    • Python使用matplotlib绘制动画的方法
    • python绘图库Matplotlib的安装
    • Python实现matplotlib显示中文的方法详解
    • Python绘图Matplotlib之坐标轴及刻度总结
    • Python+matplotlib绘制不同大小和颜色散点图实例
    上一篇:python中添加模块导入路径的方法
    下一篇:如何用tempfile库创建python进程中的临时文件
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    matplotlib更改窗口图标的方法示例 matplotlib,更改,窗口,图,标的,