matplotlib 창 아이콘 변경 방법 예시
2299 단어 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에서 창 아이콘을 변경하는 내용과 관련된 더 많은 정보는 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
「수리계획법~선형계획법~」을 참고로 matplotlib와 WolframAlpha로 해보고 싶다.(오리지널 포스트) (참고) 선형 계획법 초입문 작업 중입니다. 정수에만 대응합니다. 공부중. 쉽게 3D 표시할 수 있습니까? 조언을 받으면 도움이됩니다. 완성형?을 찾고 있습니다. 잘 부탁드립니다. 정수해: {{x...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.