是否可以更改Matplotlibe图形窗口的图标?我的应用程序有一个按钮,可以用图形打开图形窗口(使用Matplotlib创建)。我设法修改了应用程序图标,但数字窗口仍然有Tkinter的典型“Tk”图标。更改Matplotlib图形窗口中的图标
2
A
回答
3
我解决它以这样的方式 之前我按创建具有imshow()
和show()
图中的按钮,我初始化这样的数字:
plt.Figure()
thismanager = get_current_fig_manager()
thismanager.window.wm_iconbitmap("icon.ico")
所以当我按下show()
的窗口有我想要的图标。
+0
谢谢你的回答。如果你使用wxAgg后端,等效代码是thismanager.window.SetIcon(wx.Icon(“mylogo.ico”,wx.BITMAP_TYPE_ICO)) – harijay 2012-05-06 18:39:49
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)
0
如果使用Qt4Agg后端,下面的代码可以帮助你:
thismanager = plt.get_current_fig_manager()
from PyQt4 import QtGui
thismanager.window.setWindowIcon(QtGui.QIcon((os.path.join('res','shepherd.png'))))
0
刚刚添加该在这里,现在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))
相关问题
- 1. Matplotlib:图+新窗口
- 2. 在pylab中更改图形窗口标题
- 3. 更改3D图形颜色(matplotlib)
- 4. Matplotlib条形图中的wx框架而不是新窗口
- 5. 如何更改matplotlib条形图标签的字体系列?
- 6. 更改图形的图例标签
- 7. 在放大Matplotlib绘图窗口时,绘图图例不在窗口中
- 8. 更新matplotlib条形图?
- 9. matplotlib/Python中条形图的单独标记的条形图
- 10. 如何更新matplotlib中的条形图?
- 11. 如何更改WPF窗口中的标题栏图像?
- 12. 更改窗口标题栏中图像的颜色
- 13. 如何更新matplotlib中的图形或图形
- 14. GTK更改窗口的背景图像
- 15. 在PyQT4中修改Matplotlib图形轴
- 16. 更改基于变量的Google地图标记信息窗口中的图像
- 17. 在matplotlib中缺失标签 - 条形图
- 18. 更改Qt/Mac Dock图标有窗口标题副作用
- 19. 试图用matplotlib更新3D图形坐标
- 20. GLFW窗口图标
- 21. matplotlib:如何同时更改刻度位置和图形形状
- 22. 绘图窗口没有出现在matplotlib
- 23. Matplotlib绘图窗口不与命令-W
- 24. python图形窗口中的按钮
- 25. 更改“窗口栏”上的图标Mac OS X
- 26. 如何更改进度窗口上的图标?
- 27. 更改窗口图标的最小化,关闭并最大化
- 28. 是否可以从.net更改控制台窗口的图标?
- 29. 更改VBA的图形标题
- 30. 更改Matplotlib/Python中的极坐标图的轴选项
不是你问什么了,但这里是Tkinter的嵌入matplot图的例子:http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_tk.html(也许矫枉过正只是更改图标) – FabienAndre 2012-04-17 14:52:44
@FabienAndre:谢谢,但我无法按照自己的想法做 – maupertius 2012-04-17 15:07:31
由于您设法更改了常规tkinter窗口的图标,因此在tkinter窗口小部件中显示matplotlib图让您可以在自己的Tkinter窗口中显示它( Toplevel是让你打开窗口的小部件),你可以改变它的图标。此外,你不会被迫使用另一个可能提供有趣设计选择的窗口。 – FabienAndre 2012-04-17 15:16:02