Идентификаторы объектов и операции

identifikatory obektov i operacii Экскурсия по tkinter, часть 2

Сценарий canvas1 не использует тот факт, что у каждого помещаемого на холст объекта есть идентификатор. Его возвращает метод create_, который рисует или встраивает объект (в примерах предыдущего раздела он был представлен переменной id). Этот идентификатор можно впоследствии передавать другим методам, чтобы переместить объект в новые координаты, установить параметры его настройки, удалить с холста, поднять или опустить относительно других перекрывающихся объектов и так далее

Например, метод move холста может принимать идентификатор объекта и смещения (не координаты) X и Y, и перемещать объект согласно заданному смещению:

canvas.move(objectIdOrTag, offsetX, offsetY) # переместить объект(ы)

Если при этом объект смещается за пределы холста, он просто обрезается (не показывается). К объектам можно также применять другие часто используемые операции:

canvas.delete(objectIdOrTag) # удалить объект(ы) с холста

canvas.tkraise(objectIdOrTag) # поднять объект(ы) вверх

canvas.lower(objectIdOrTag) # опустить объект(ы) вниз

canvas.itemconfig(objectIdOrTag, fill=’red’) # залить объект(ы) красным цветом

Обратите внимание на имя tkraise — слово raise является в языке Python зарезервированным. Заметьте также, что для настройки объектов, изображенных на холсте, после их создания используется метод itemconfig; метод config применяется для изменения параметров самого холста. Однако главное, что нужно отметить, — это возможность обработать сразу весь графический объект, поскольку библиотека tkinter оперирует структурированными объектами — не нужно поднимать и перерисовывать каждый пиксель вручную, чтобы осуществить перемещение или подъем объекта.

Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011

Оцените статью
Секреты программирования
Добавить комментарий