让我们从阅读文档开始吧!
文档位于effbot.org说以下有关iconbitmap(bitmap=None)
设置或获取此窗口图标化时要使用的图标位图。某些窗口管理器(包括Windows)会忽略此方法。
注意该方法只能用于显示单色图标。要显示一个颜色图标,将其放入Label
小部件并使用显示它iconwindow
方法代替。
Same as wm_iconbitmap
.
所以这是关于的文档iconwindow(window=None)
:
设置或获取图标窗口以在该窗口图标化时用作图标。某些窗口管理器(包括Windows)会忽略此方法。
Same as wm_iconwindow
.
window
The new icon window. If omitted, the current window is returned.
根据这个其他文件,它实际上与同名方法的文档字符串说了同样的事情tkinter
(至少)Python 2.7、3.5 和 3.6 中:
wm_iconbitmap(self, bitmap=None, default=None)
将图标化小部件的位图设置为bitmap
。如果没有给出,则返回位图。
在 Windows 下,default
参数可用于设置小部件和任何未显式设置图标的后代的图标。default
可以是相对路径.ico
文件(例如:root.iconbitmap(default='myicon.ico')
)。请参阅 Tk 文档以获取更多信息。
这是原始的 Tk 文档:
wm iconbitmap window ?bitmap?
如果指定了位图,则它以 Tk 接受的标准形式命名位图(请参阅Tk_GetBitmap手动输入详细信息)。该位图被传递到窗口管理器以显示在窗口的图标中,并且该命令返回一个空字符串。如果指定了空字符串bitmap
,则取消任何当前图标位图window
. If bitmap
指定后,该命令返回一个空字符串。否则,它返回与关联的当前图标位图的名称window
,或者一个空字符串,如果window
没有图标位图。
从我的理解来看Tcl
, here window
是你的顶层窗口(或者是一个实例Tk
or Toplevel
).
在 Windows 操作系统上,支持一个附加标志:
wm iconbitmap window ?-default? ?image?
If the -default
给出标志后,该图标将应用于尚未应用其他特定图标的所有顶级窗口(现有的和将来的)。
除了位图图像类型之外,还接受包含有效 Windows 图标的任何文件的完整路径规范(通常.ico
or .icr
文件),或者 shell 为其分配了图标的任何文件。
Tcl 将首先测试文件是否包含图标,然后测试它是否有分配的图标,最后,如果失败,则测试位图。
到目前为止,答案还不是很具体,因此很有帮助。
我的结论
The iconbitmap
应该使用函数(或方法,取决于编程语言)来设置bitmap当窗口被图标化时图像到窗口。
在 Windows 上,您可以为任何包含以下内容的文件设置完整路径规范:有效的 Windows 图标也被接受(通常.ico
or .icr
文件),或者 shell 为其分配了图标的任何文件。
那么哪些图像是位图呢?
-
xbm and xpm (for X窗口系统)
根据维基百科文章我将“位图”链接到上面:
The X窗口系统使用类似的xbm
格式为黑与白图像,以及xpm
对于彩色图像。
...
BMP 文件格式
Netpbm 格式
.wbmp
-
ILBM
...
所以大多数位图文件格式都是not跨平台!换句话说,如果有人告诉你使用xbm
图标的图像,它可能无法在您的平台上工作,因为xbm
是位图X窗口系统.
Note:即使在这个答案之后,您可能仍然遇到问题!
其他可能有用的文章
- 设置窗口图标
- tkinter TclError:读取位图文件时出错