我有一个tkinter应用程序,它具有一个主窗口(一个Tk)和一个附加窗口(一个顶级)。
我希望这些窗口在窗口管理器(GNOME Shell)中组合在一起。我相信有必要同时将两个窗口的WM_CLASS资源和WM_CLASS名称都设置为相同。
在Tk上设置className
并将Toplevel上的class
设置为我的应用程序名称似乎会更改WM_CLASS名称,但不会更改资源,这就是为什么我认为它们没有分组的原因。窗口上的xprop WM_CLASS
在Tk上的两个条目中显示我选择的名称:WM_CLASS(STRING) = "myapp", "Myapp"
。对于顶层,它为第一个元素WM_CLASS(STRING) = "140626444609872", "Myapp"
显示一个tk_uid。
我也尝试设置窗口的标题,但这似乎没有什么区别。
最佳答案
您可以使用wm group
命令将窗口分组在一起。某些操作系统/窗口管理器可能不遵守此设置。
在tkinter中,您可以通过使用根Tk实例作为参数在Toplevel实例上调用group
来实现。
参考:wm (tk),wm (tkinter)
关于python - 在Tkinter中分组窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40874540/