VM - менеджер окон

class WM

Менеджер окон

deiconify()
wm_deiconify()

Разворачивает окно из панели задач

root.iconify()
frame()
wm_frame()

Возвращает идентификатор окна

geometry(newGeometry=None)
wm_geometry(newGeometry=None)

Устанавливает геометрию окна в формате ШИРИНАxВЫСОТА+Х+У.

Если не задаы параметры, то возвращает текущие размеры и координаты.

# поместить окно в точку с координатам 40,80 и установить размер в 600x400
top_level.geometry("600x400+40+80")

# только изменить размер
top_level.geometry("600x400")

# только переместить окно
top_level.geometry("+40+80")
import re

def parsegeometry(geometry):
    m = re.match("(\d+)x(\d+)([-+]\d+)([-+]\d+)", geometry)
    if not m:
        raise ValueError("failed to parse geometry string")
    return map(int, m.groups())
width, height, x, y = parsegeometry(root.geometry())
group(pathName=None)
wm_group(pathName=None)

Возвращает группу окна или назначает группу

iconify()
wm_iconify()

Сворачивает окно в панель задач

top_level.iconify()
lift(aboveThis=None)
tkraise(aboveThis=None)

Поднимает (размещает поверх всех других окон) окно, над каким-то окном.

root.lift()
lower(aboveThis=None)

Опускает окно, под каким-то окном.

root.lower()
maxsize(width=None, height=None)
wm_maxsize(width=None, height=None)

Устанавливает максимальные размеры окна, если они заданы, иначе возвращает текущие.

root.minsize()
minsize(width=None, height=None)
wm_minsize(width=None, height=None)

Устанавливает минимальные размеры окна, если они заданы, иначе возвращает текущие.

root.minsize()
overrideredirect(boolean=None)
wm_overrideredirect(boolean=None)

Указание оконному менеджеру игнорировать это окно.

В случае, если аргумент не указан - получаем текущее значение.

Если аргумент равен True, то такое окно будет показано оконным менеджером без обрамления (без заголовка и бордюра).

Note

Может быть использовано, например, для создания splashscreen при старте программы.

root.overrideredirect()
positionfrom(who=None)
wm_positionfrom(who=None)
protocol(name=None, func=None)
wm_protocol(name=None, func=None)

Устанавливает обработчик указанного события.

События могут быть:

  • WM_TAKE_FOCUS - получение фокуса
  • WM_SAVE_YOURSELF - необходимо сохраниться, в настоящий момент является устаревшим
  • WM_DELETE_WINDOW - удаление окна
def window_deleted():
    # do some
    root.destroy()

root.protocol('WM_DELETE_WINDOW', window_deleted)
resizable(width=None, height=None)
wm_resizable(width=None, height=None)

Задает возможность изменения размера окна, или возвращает текушее.

root.resizable(True, False)
sizefrom(who=None)
wm_sizefrom(who=None)
state(newstate=None)
wm_state(newstate=None)

Устанавливает новое состояние окна, если не задано, возвращает текущее:

  • normal - нормальное состояние
  • iconic - свёрнуто
  • withdrawn - не показано
root.state()
title(string=None)
wm_title(string=None)

Устанавливает заголовок окна

root.title('My window')
transient(master=None)
wm_transient(master=None)

Сделать окно зависимым от другого окна, указанного в аргументе. Будет сворачиваться вместе с указанным окном.

Без аргументов возвращает текущее значение.

root.transient()
withdraw()
wm_withdraw()

Cпрятать (сделать невидимым) окно. Для того, чтобы снова показать его, надо использовать метод deiconify.

root.withdraw()