matplotlib 창 아이콘 변경 방법 예시

matplotlib 창 아이콘은 기본적으로 matplotlib의 로고입니다. 수정하려면 어떻게 해야 합니까?
제가 선택한 matplotlib 백엔드는PyQT5이기 때문에 matplotlib를 직접 보십시오.backends.backend_qt5 모듈 원본.

원리


원본 코드를 보면 알 수 있듯이 창 아이콘 기능은 Figure Manager QT 클래스에 정의되어 있으며, 설정된 기본 아이콘은 mpl-data\images\matplotlib입니다.svg.
Figure Manager QT의 부류는 Figure Manager Base입니다. 용기로 matplotlib 이미지와 백엔드에서 구현된 창을 격리하고 창과 상호작용을 하면 matplotlib가 선택한 백엔드에 자동으로 어울립니다.
이렇게 하면 현재 이미지에서 Figure Manager QT 클래스의 실례 (현재 이미지의 이미지 관리자) 를 찾은 후 set Windows Icon 방법을 호출하면 창 아이콘을 변경할 수 있습니다.
현재 이미지를 가져오는 이미지 관리자는 두 가지 쓰기 방법이 있기 때문에 창 아이콘을 바꾸는 데는 두 가지가 있습니다.
matplotlib에 따라.pyplot.get_current_fig_관리자 () 함수 원본은 이 두 가지 방법이 등가라는 것을 알 수 있다.

구현 코드


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에서 창 아이콘을 변경하는 내용과 관련된 더 많은 정보는 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기