制作Tkinter多个Windows在任务栏中有一个图标

时间:2018-06-08 12:32:37

标签: python tkinter taskbar tkinter-layout

我使用了Tkinter,有几个Toplevels,它们在Ubuntu任务栏中显得分开,而不是像打开多个firefox窗口那样在一起(我的意思是它们都在firefox图标下组合在一起,所需的可以从它)。所有tkinter窗口都单独出现在任务栏中,因此在栏中占据了很多空间。有一种方法可以将它们组合在一起,这样就可以很容易地看到当前打开了多少个窗口,并且清楚地看到它们是一个程序

1 个答案:

答案 0 :(得分:1)

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

来自规范的tcl / tk文档:

  

wm group window ?pathName?

     

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

实施例

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