是否可以更改 Matplotlibe 图形窗口的图标?我的应用程序有一个按钮,可以打开一个带有图形的图形窗口(使用 Matplotlib 创建)。我设法修改了应用程序图标,但图形窗口仍然有 Tkinter 典型的“Tk”图标。
问问题
6233 次
5 回答
6
我以这种方式解决了它:在按下创建图形的按钮之前imshow()
,show()
我以这种方式初始化图形:
plt.Figure()
thismanager = get_current_fig_manager()
thismanager.window.wm_iconbitmap("icon.ico")
所以当我按下show()
窗口时有我想要的图标。
于 2012-04-18T11:07:07.020 回答
3
对我来说,以前的答案不起作用,而是需要以下内容:
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)
于 2012-12-11T11:25:55.940 回答
1
只需在此处添加此内容,现在 Qt5Agg 后端已成为主流。它与 Sijie Chen的回答中概述的 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))
于 2017-11-06T04:53:42.853 回答
0
如果您使用的是 Qt4Agg 后端,以下代码可能会对您有所帮助:
thismanager = plt.get_current_fig_manager()
from PyQt4 import QtGui
thismanager.window.setWindowIcon(QtGui.QIcon((os.path.join('res','shepherd.png'))))
于 2017-05-09T06:01:57.017 回答
0
我发现在带有 PyQT5 的 OS X 下,doingplt.get_current_fig_manager().window.setWindowIcon()
没有任何效果。要更改停靠图标,您必须调用setWindowIcon()
实例QApplication
,而不是窗口。
对我有用的是:
QApplication.instance().setWindowIcon(QtGui.QIcon(icon_path))
请注意,直到QApplication.instance()
您None
实际创建一个图形,所以先这样做。
于 2020-08-12T15:21:00.423 回答