У меня есть приложение tkinter, в котором есть главное окно (Tk) и дополнительное окно (Toplevel).Группирование окон в tkinter
Я хочу, чтобы эти окна группировались вместе в диспетчере окон (оболочка GNOME). Я считаю, что для того, чтобы это произошло, необходимо, чтобы оба ресурса WM_CLASS и имя WM_CLASS были одинаковыми для обоих окон.
Установка className
на Tk и установка class
на Toplevel на мое имя приложения, похоже, изменяет имя WM_CLASS, но не ресурс, поэтому я думаю, что они не группируются. xprop WM_CLASS
на окнах показывает мое выбранное имя для обеих записей на Tk: WM_CLASS(STRING) = "myapp", "Myapp"
. Для Toplevel он показывает tk_uid для первого элемента: WM_CLASS(STRING) = "140626444609872", "Myapp"
.
Я также попытался установить названия окон, но это, казалось, не имело значения.
Это сработало! Оказывается, WM_CLASS не то, что мне нужно. Добавьте к своему ответу, что в tkinter вам нужно сделать top_level.group (root), где top_level - это Toplevel, а root - ваш экземпляр Tk. Благодаря! –
На самом деле отредактировал его. –