在Matplotlib图窗口更改图标(Change icon in a Matplotlib fig

2019-06-23 16:33发布

是否有可能改变一个Matplotlibe图形窗口的图标? 我的应用程序具有与图(与Matplotlib创建)打开一个图窗口中的按钮。 我设法修改应用程序图标,但这一数字仍然窗口有“Tk的”图标,典型的Tkinter的。

Answer 1:

我解决了它这样:在我按下创建与数字按钮imshow()show()我初始化这样的数字:

plt.Figure()
thismanager = get_current_fig_manager()
thismanager.window.wm_iconbitmap("icon.ico")

所以当我按下show()窗口有我想要的图标。



Answer 2:

对于我以前的答案没有工作,而被要求如下:

from Tkinter import PhotoImage
import matplotlib

thismanager = matplotlib.pyplot.get_current_fig_manager()
img = PhotoImage(file='filename.ppm')
thismanager.window.tk.call('wm', 'iconphoto', thismanager.window._w, img)


Answer 3:

如果您正在使用Qt4Agg后端,下面的代码可以帮助你:

thismanager = plt.get_current_fig_manager()
from PyQt4 import QtGui
thismanager.window.setWindowIcon(QtGui.QIcon((os.path.join('res','shepherd.png'))))


Answer 4:

只需添加此这里,现在的Qt5Agg后端取得了它的方式成为主流。 通过斯杰陈的回答所列出它类似于(几乎相同)的Qt4Agg后端。

import os
import matplotlib.pyplot as plt
from PyQt5 import QtGui

# Whatever string that leads to the directory of the icon including its name
PATH_TO_ICON = os.path.dirname(__file__) + '/static/icons/icon.ico'

plt.get_current_fig_manager().window.setWindowIcon(QtGui.QIcon(PATH_TO_ICON))


文章来源: Change icon in a Matplotlib figure window