濮阳杆衣贸易有限公司

主頁 > 知識庫 > matplotlib更改窗口圖標的方法示例

matplotlib更改窗口圖標的方法示例

熱門標簽:滴滴地圖標注公司 杭州房產(chǎn)地圖標注 江門智能電話機器人 天津塘沽區(qū)地圖標注 400電話在線如何申請 甘肅高頻外呼系統(tǒng) 地圖標注可以遠程操作嗎 智能電話機器人調(diào)研 如何申請400電話代理

matplotlib窗口圖標默認是matplotlib的標志,如果想修改怎么改呢?

由于我選擇的matplotlib后端是PyQT5,直接查看matplotlib.backends.backend_qt5模塊源碼。

原理

查看源碼可知,窗口圖標功能定義在FigureManagerQT類中,設(shè)置的默認圖標是mpl-data\images\matplotlib.svg。
FigureManagerQT的父類是FigureManagerBase,其功能是作為容器隔離matplotlib圖像和后端實現(xiàn)的窗口,并與窗口進行交互,它會自動適配matplotlib選用的后端。
這樣只用找到當(dāng)前圖像中FigureManagerQT類的實例(即當(dāng)前圖像的圖像管理器)后調(diào)用setWindowIcon方法即可完成窗口圖標的更改。
獲取當(dāng)前圖像的圖像管理器有兩種寫法,因此,更改窗口圖標的實現(xiàn)有兩種。
根據(jù)matplotlib.pyplot.get_current_fig_manager()函數(shù)源碼可知這兩種方法是等價的。

實現(xiàn)代碼

import matplotlib.pyplot as plt
from PyQt5 import QtGui

plt.plot([1,2])
# 構(gòu)建圖標
PATH_TO_ICON = r"c:\quit.png"
new_icon = QtGui.QIcon(PATH_TO_ICON)
# 方法一:使用figure.canvas.manager獲取當(dāng)前圖像的`FigureManagerQT`類實例
fig =plt.gcf()
fig.canvas.manager.window.setWindowIcon(QtGui.QIcon(new_icon))

# 方法二:使用plt.get_current_fig_manager()獲取當(dāng)前圖像的`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

到此這篇關(guān)于matplotlib更改窗口圖標的方法示例的文章就介紹到這了,更多相關(guān)matplotlib更改窗口圖標內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python matplotlib坐標軸設(shè)置的方法
  • Python設(shè)置matplotlib.plot的坐標軸刻度間隔以及刻度范圍
  • python使用matplotlib繪制柱狀圖教程
  • python學(xué)習(xí)之matplotlib繪制散點圖實例
  • 用matplotlib畫等高線圖詳解
  • python Matplotlib畫圖之調(diào)整字體大小的示例
  • Python使用matplotlib繪制動畫的方法
  • python繪圖庫Matplotlib的安裝
  • Python實現(xiàn)matplotlib顯示中文的方法詳解
  • Python繪圖Matplotlib之坐標軸及刻度總結(jié)
  • Python+matplotlib繪制不同大小和顏色散點圖實例

標簽:廊坊 德宏 長春 東莞 河池 重慶 漢中 臨汾

巨人網(wǎng)絡(luò)通訊聲明:本文標題《matplotlib更改窗口圖標的方法示例》,本文關(guān)鍵詞  matplotlib,更改,窗口,圖,標的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《matplotlib更改窗口圖標的方法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于matplotlib更改窗口圖標的方法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    临桂县| 巫溪县| 灌南县| 西平县| 沂水县| 巴彦县| 石景山区| 日照市| 饶阳县| 思南县| 公主岭市| 新泰市| 阳曲县| 桑日县| 商都县| 博罗县| 湾仔区| 滕州市| 连平县| 女性| 大洼县| 达州市| 井陉县| 宜阳县| 乐清市| 杭锦后旗| 海宁市| 明光市| 苏尼特右旗| 平顶山市| 莱芜市| 滨海县| 陇南市| 德兴市| 辽阳县| 油尖旺区| 兴化市| 湖南省| 博客| 牙克石市| 安吉县|