使 Tkinter 多个窗口在任务栏中有一个图标



我使用了Tkinter,有几个顶级,它们在Ubuntu任务栏中单独出现,而不是像打开多个Firefox窗口那样在一起(我的意思是它们都组合在Firefox图标下,可以从中选择所需的(。所有 tkinter 窗口都单独显示在任务栏中,因此在栏中占用大量空间。有没有办法将它们组合在一起,以便很容易看到当前打开了多少个窗口,并清楚地看到它们是程序的一部分

tkinter 提供的唯一机制是wm_group方法,该方法向窗口管理器提供一个或多个窗口属于单个组的提示。窗口管理器可以自由使用或忽略这些提示。我不知道这是否会对Ubuntu和你正在使用的任何窗口管理器产生任何影响。

从规范的 tcl/tk 文档中:

WM 组 窗口路径名?

如果指定了 pathName,则它为一组相关窗口的领导者提供路径名。窗口管理器可以使用此信息,例如,当组的领导者被图标化时,取消映射组中的所有窗口。可以将PathName指定为空字符串,以从任何组关联中删除窗口。如果指定了路径名,则该命令返回一个空字符串;否则,它将返回窗口当前组领导的路径名,如果窗口不属于任何组,则返回空字符串。

例:

root = tk.Tk()
w1 = tk.Toplevel(root)
w2 = tk.Toplevel(root)
w1.group(root)
w2.group(root)

最新更新