Главная


8. Виджет Canvas

Холст (Canvas) - это прямоугольная область, предназначенная для рисования изображений или других сложных макетов. На нем можно размещать графику, текст, виджеты или фреймы.

Также в этом разделе:

8.1. Координаты холста
8.2. Список отображаемых объектов холста
8.3. Идентификаторы объектов холста
8.4. Теги холста
8.5. Аргументы тега или ID холста (tagOrId)
8.6. Методы виджетов Canvas
8.7. Объекты дуг на холсте
8.8. Объекты битовых изображений на холсте
8.9. Объекты изображений на холсте
8.10. Объекты линий на холсте
8.11. Объекты овалов на холсте
8.12. Объекты многоугольников на холсте
8.13. Объекты прямоугольников на холсте
8.14. Объекты текста на холсте
8.15. Объекты окон на холсте

Для создания объекта Canvas:

w = tk.Canvas(parent, option=value, ...)

Конструктор возвращает новый виджет Canvas. Поддерживаемые опции включают:

Таблица 6. Опции виджета Canvas

bd или borderwidth Ширина границы вокруг холста; см. Раздел 5.1, "Размеры". По умолчанию два пикселя.
bg или background Цвет фона холста. По умолчанию светло-серый, около '#E4E4E4'.
closeenough Число с плавающей запятой, указывающее, насколько близко должна находиться мышь к элементу, чтобы считаться внутри него. По умолчанию 1.0.
confine Если установлено значение True (по умолчанию), холст не может быть прокручен за пределы scrollregion (см. ниже).
cursor Курсор, используемый на холсте. См. Раздел 5.8, "Курсоры".
height Размер холста по оси Y. См. Раздел 5.1, "Размеры".
highlightbackground Цвет выделения фокуса, когда виджет не имеет фокуса. См. Раздел 53, "Фокус: маршрутизация ввода с клавиатуры".
highlightcolor Цвет, отображаемый в выделении фокуса.
highlightthickness Толщина выделения фокуса. Значение по умолчанию - 1.
relief Стиль обрамления холста. По умолчанию tk.FLAT. См. Раздел 5.6, "Стили обрамления".
scrollregion Кортеж (w, n, e, s), который определяет размер области, которую можно прокручивать по холсту, где w - левая сторона, n - верхняя, e - правая сторона и s - нижняя.
selectbackground Фоновый цвет для отображения выбранных элементов.
selectborderwidth Ширина границы для отображения выбранных элементов.
selectforeground Цвет переднего плана для отображения выбранных элементов.
takefocus Обычно фокус перемещается по этому виджету только при наборе клавиш табуляции, если для него установлены привязки клавиатуры. Если установить эту опцию равной 1, фокус всегда будет перемещаться на этот виджет. Установите ее в '', чтобы получить поведение по умолчанию.
width Размер холста по оси X. См. Раздел 5.1, "Размеры".
xscrollincrement Обычно холсты могут прокручиваться горизонтально в любую позицию. Вы можете получить это поведение, установив xscrollincrement равным нулю. Если установить эту опцию на какое-нибудь положительное расстояние, холст можно будет позиционировать только на кратные этому расстоянию промежутки, и это значение будет использоваться для прокрутки по единицам прокрутки, например, когда пользователь щелкает на стрелках в концах полосы прокрутки. Для получения дополнительной информации о единицах прокрутки см. Раздел 22, "Виджет Scrollbar".
xscrollcommand Если холст прокручивается, установите эту опцию на метод .set() горизонтальной полосы прокрутки.
yscrollincrement Работает так же, как xscrollincrement, но управляет вертикальным перемещением.
yscrollcommand Если холст прокручивается, установите эту опцию на метод .set() вертикальной полосы прокрутки.

>> Координаты холста