Misk - базовый класс для базового класса виджетов¶
- class
Misk
¶ -
bind
(sequence=None, func=None, add=None)¶ Привязывает событие к действию и возвращает идентификатор привязки
sequence - название события
func - обработчик, принимает ивент события, может возвращать строки “continue” и “break”.
Если функция возвращает “continue” то Tkinter продолжит обработку других привязок этого события,
Если “break” - обработка этого события прекращается.
Если функция ничего не возвращает (если возвращает None), то обработка событий продолжается (т.е. это эквивалентно возвращению “continue”).
serial - серийный номер события (все события)
num - номер кнопки мыши (ButtonPress, ButtonRelease)
focus - имеет ли окно фокус (Enter, Leave)
height и width - ширина и высота окна (Configure, Expose)
keycode - код нажатой клавиши (KeyPress, KeyRelease)
state - состояние события (для ButtonPress, ButtonRelease, Enter, KeyPress, КeyRelease, Leave, Motion - в виде числа; для Visibility - в виде строки)
time - время наступления события (все события)
x и y - координаты мыши
x_root и y_root - координаты мыши на экране (ButtonPress, ButtonRelease, KeyPress, KeyRelease, Motion)
char - набранный на клавиатуре символ (KeyPress, KeyRelease)
send_event - см. документацию по X/Windows
keysym - набранный на клавиатуре символ (KeyPress, KeyRelease)
keysym_num - набранный на клавиатуре символ в виде числа (KeyPress, KeyRelease)
type - тип события в виде числа (все события)
widget - виджет, который получил событие (все события)
delta - изменение при вращении колеса мыши (MouseWheel)
add - добавить в цепочку обработчиков
Список модификаторов
Control
Alt
Shift
Lock
Extended
Prior - PgUp
Next - PgDown
Button1, B1 - нажата первая (левая) кнопка мыши
Button2, B2 - вторая (средняя) кнопка мыши
Button3, B3 - третья (правая)
Button4, B4 - четвёртая
Button5, B5 - пятая
Mod1, M1, Command
Mod2, M2, Option
Mod3, M3
Mod4, M4
Mod5, M5
Meta, M
Double - двойной щелчок мыши (например, <Double-Button-1>)
Triple - тройной
Quadruple - четверной
Типы событий
Activate, Deactivate
MouseWheel - прокрутка колесом мыши
KeyPress, KeyRelease - нажатие и отпускание клавиши на клавиатуре
ButtonPress, ButtonRelease, Motion - нажатие, отпускание клавиши мыши, движение мышью
Configure - изменение положения или размера окна
Map, Unmap - показывание или сокрытие окна (например, в случае сворачивания/разворачивания окна пользователем)
Visibility
Expose - событие генерируется, когда необходимо всё окно или его часть перерисовать
Destroy - закрытие окна
FocusIn, FocusOut - получение или лишение фокуса
Enter, Leave - Enter генерируется когда курсор мыши “входит” в окно, Leave - когда “уходит” из окна
Property
Colormap
MapRequest, CirculateRequest, ResizeRequest, ConfigureRequest, Create
Gravity, Reparent, Circulate
widget.bind("<Control-Shift-KeyPress-q>", callback)
""" обработчик выбора элемента """ def callback(val): listbox_widget = val.widget listbox.bind("<<ListboxSelect>>", callback)
# обработчик клика для label label.bind('<Button-1>', lambda event: pass)
-
bind_all
(sequence=None, func=None, add=None)¶ Создаёт привязку для всех виджетов приложения. Отличие от привязки к окну верхнего уровня заключается в том, что в случае привязки к окну привязываются все виджеты этого окна, а этот метод привязывает все виджеты приложения (у приложения может быть несколько окон).
-
bind_class
(className, sequence=None, func=None, add=None)¶ Создаёт привязку для всех виджетов данного класса
Позволяет изменить порядок обработки привязок.
По умолчанию порядок следующий: виджет, класс, окно, all
-
clipboard_append
(str)¶ Добавляет в буфер текст
-
clipboard_clear
()¶ Очищает буфер обмена
-
config
(**kwargs)¶
-
configure
(**kwargs)¶ Динамическая конфигурация виджета.
Также можно использовать более краткую форму записи. используя квадратные скобки.
Параметры аналогичны параметрам контсруктора
button.config(text='new_text') button['command'] = new_command
-
grid_columnconfigure
(index, cnf={}, **kw)¶
-
columnconfigure
(index, cnf={}, **kw)¶ Конфигурирование упаковщика
minsize - минимальная ширина/высота строки/столбца.
weight - “вес” строки/столбца при увеличении размера виджета. 0 означает, что строка/столбец не будет расширяться.
Строка/столбец с “весом” равным 2 будет расширяться вдвое быстрее, чем с весом 1.
uniform - объединение строк/столбцов в группы.
Строки/столбцы имеющие одинаковый параметр uniform будут расширяться строго в соответствии со своим весом.
pad - размер бордюра. Указывает, сколько пространства будет добавлено к самому большому виджету в строке/столбце.
-
grid_location
(x, y)¶ Возвращает номер строки и столбца в которые попадают указанные координаты, либо -1 если координаты попали вне виджета.
-
grid_propagate
()¶
-
grid_rowconfigure
()¶
-
grid_size
()¶ Возвращает размер таблицы в строках и столбцах
-
grid_slaves
()¶ Возвращает список всех дочерних упакованных виджетов
-
pack_slaves
()¶ Возвращает список всех дочерних упакованных виджетов
-
pack_propagate
(flag=['_noarg_'])¶ Включает/отключает распространении информации о геометрии дочерних виджетов.
По умолчанию виджет изменяет свой размер в соответствии с размером своих потомков. Этот метод может отключить такое поведение (pack_propagate(False)).
Это может быть полезно, если необходимо, чтобы виджет имел фиксированный размер и не изменял его по прихоти потомков.
-
place_slaves
()¶ Возвращает список всех дочерних упакованных виджетов
-
unbind
(sequence, funcid=None)¶ Отвязать виджет от события. В качестве аргумента принимает идентификатор, полученный от метода bind.
-
unbind_all
(sequence)¶ Отвязать все виджеты от события
-
unbind_class
(className, sequence)¶ Отвязать все классы от события
-
winfo_height
()¶ Возвращает высоту элемента
canvas.winfo_height() # 500
-
winfo_screenheight
()¶ Возвращает высоту рабочего области экарана в пикселях
root.winfo_screenheight() # 1920
-
winfo_screenwidth
()¶ Возвращает ширину рабочего области экарана в пикселях
root.winfo_screenwidth() # 3840
-
winfo_width
()¶ Возвращает ширину элемента
canvas.winfo_width() # 500
-