在tkinter中分组窗口

时间:2016-11-29 19:47:21

标签: python tkinter tk gnome-shell

我有一个tkinter应用程序,它有一个主窗口(一个Tk)和一个额外的窗口(一个Toplevel)。

我希望这些窗口在窗口管理器(GNOME Shell)中组合在一起。我认为有必要同时为两个窗口设置WM_CLASS资源和WM_CLASS名称,以便实现此目的。

在Tk上设置className并在Toplevel上将class设置为我的应用程序名称似乎更改了WM_CLASS名称而不是资源,这就是为什么我认为它们不是分组的原因。窗口上的xprop WM_CLASS显示我为Tk上的两个条目选择的名称:WM_CLASS(STRING) = "myapp", "Myapp"。对于Toplevel,它显示第一个元素的tk_uid:WM_CLASS(STRING) = "140626444609872", "Myapp"

我也试过设置窗口的标题,但似乎没有区别。

1 个答案:

答案 0 :(得分:3)

您可以使用wm group命令将窗口组合在一起。某些操作系统/窗口管理器可能不遵守此设置。

在tkinter中,您可以通过使用根Tk实例作为参数调用Toplevel实例上的group来完成此操作。

参考文献:wm (tk)wm (tkinter)