我有一个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/

10-12 18:35
查看更多