我有一个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"
。
我也试过设置窗口的标题,但似乎没有区别。
答案 0 :(得分:3)
您可以使用wm group
命令将窗口组合在一起。某些操作系统/窗口管理器可能不遵守此设置。
在tkinter中,您可以通过使用根Tk实例作为参数调用Toplevel实例上的group
来完成此操作。
参考文献:wm (tk),wm (tkinter)