You are currently viewing Python Tkinter – Виджет Canvas (холста)

Python Tkinter – Виджет Canvas (холста)

Tkinter-это набор инструментов с графическим интерфейсом, используемый в python для создания удобных графических интерфейсов.Tkinter-это наиболее часто используемый и самый базовый графический интерфейс, доступный в python. Tkinter использует объектно-ориентированный подход для создания графических интерфейсов.

Примечание: Для получения дополнительной информации обратитесь к Графический интерфейс Python – tkinter

Виджет Canvas (холста)

Виджет «Canvas» позволяет отображать в приложении различную графику. Его можно использовать для рисования простых фигур на сложных графиках. Мы также можем отображать различные виды пользовательских виджетов в соответствии с нашими потребностями.

Синтаксис:

C = Canvas(root, height, width, bd, bg, ..)

Дополнительные параметры:

  • root = корневое окно.
  • height = высота виджета холст.
  • width = ширина виджета холст.
  • bg = цвет фона для холста.
  • bd = граница окна холста.
  • scrollregion (w, n, e, s) кортеж, определенный как область для прокрутки влево, вверх, вниз и вправо.
  • highlightcolor colour, отображаемый в выделенном фокусе.
  • cursor Его можно определить как курсор для холста, который может быть кругом, точкой, стрелкой и т.д.
  • confine решает, можно ли получить доступ к холсту за пределами области прокрутки.
  • relief тип бордюра, который может быть SUNKEN, RAISED, GROOVE и RIDGE.

Некоторые распространенные методы рисования:

  • Создание овала
oval = C.create_oval(x0, y0, x1, y1, options)
  • Создание дуги
arc = C.create_arc(20, 50, 190, 240, start=0, extent=110, fill="red")
  • Создание строки
 line = C.create_line(x0, y0, x1, y1, ..., xn, yn, options)
  • Создание многоугольника
 oval = C.create_polygon(x0, y0, x1, y1, ...xn, yn, options)

Пример 1: 

Рисование Простых Фигур

from tkinter import *


root = Tk()

C = Canvas(root, bg="yellow",
		height=250, width=300)

line = C.create_line(108, 120,
					320, 40,
					fill="green")

arc = C.create_arc(180, 150, 80,
				210, start=0,
				extent=220,
				fill="red")

oval = C.create_oval(80, 30, 140,
					150,
					fill="blue")

C.pack()
mainloop()

Выход:

Пример 2: 

Простое приложение Для Рисования

from tkinter import *


root = Tk()

# Create Title
root.title( "Paint App ")

# specify size
root.geometry("500x350")

# define function when
# mouse double click is enabled
def paint( event ):
	
	# Co-ordinates.
	x1, y1, x2, y2 = ( event.x - 3 ),( event.y - 3 ), ( event.x + 3 ),( event.y + 3 )
	
	# Colour
	Colour = "#000fff000"
	
	# specify type of display
	w.create_line( x1, y1, x2,
				y2, fill = Colour )


# create canvas widget.
w = Canvas(root, width = 400, height = 250)

# call function when double
# click is enabled.
w.bind( "<B1-Motion>", paint )

# create label.
l = Label( root, text = "Double Click and Drag to draw." )
l.pack()
w.pack()

mainloop()

Выход: