Python 3 - Tkinter Canvas

A tela é uma área retangular destinada ao desenho de imagens ou outros layouts complexos. Você pode colocar gráficos, texto, widgets ou quadros em uma tela.

Sintaxe

Aqui está a sintaxe simples para criar este widget -

w = Canvas ( master, option = value, ... )

Parâmetros

  • master - Isso representa a janela pai.

  • options- Aqui está a lista das opções mais comumente usadas para este widget. Essas opções podem ser usadas como pares de valores-chave separados por vírgulas.

Sr. Não. Opção e descrição
1

bd

Largura da borda em pixels. O padrão é 2.

2

bg

Cor de fundo normal.

3

confine

Se verdadeiro (o padrão), a tela não pode ser rolada fora da região de rolagem.

4

cursor

Cursor usado na tela, como seta, círculo, ponto etc.

5

height

Tamanho da tela na dimensão Y

6

highlightcolor

Cor mostrada no destaque do foco.

7

relief

Relevo especifica o tipo de borda. Alguns dos valores são SUNKEN, RAISED, GROOVE e RIDGE.

8

scrollregion

Uma tupla (w, n, e, s) que define o tamanho da área em que a tela pode ser rolada, onde w é o lado esquerdo, n no topo, e o lado direito es abaixo.

9

width

Tamanho da tela na dimensão X.

10

xscrollincrement

Se você definir esta opção para alguma dimensão positiva, a tela pode ser posicionada apenas em múltiplos dessa distância, e o valor será usado para rolar por unidades de rolagem, como quando o usuário clica nas setas nas extremidades de uma barra de rolagem.

11

xscrollcommand

Se a tela for rolável, este atributo deve ser o método .set () da barra de rolagem horizontal.

12

yscrollincrement

Funciona como xscrollincrement, mas rege o movimento vertical.

13

yscrollcommand

Se a tela for rolável, este atributo deve ser o método .set () da barra de rolagem vertical.

O widget Canvas pode suportar os seguintes itens padrão -

arc . Cria um item de arco, que pode ser um acorde, uma fatia de pizza ou um arco simples.

coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start = 0, extent = 150, fill = "blue")

image . Cria um item de imagem, que pode ser uma instância das classes BitmapImage ou PhotoImage.

filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor = NE, image = filename)

line . Cria um item de linha.

line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)

oval .Cria um círculo ou uma elipse nas coordenadas fornecidas. Leva dois pares de coordenadas; os cantos superior esquerdo e inferior direito do retângulo delimitador do oval.

oval = canvas.create_oval(x0, y0, x1, y1, options)

polygon . Cria um item de polígono que deve ter pelo menos três vértices.

oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)

Exemplo

Experimente o seguinte exemplo -

# !/usr/bin/python3
from tkinter import *

from tkinter import messagebox

top = Tk()

C = Canvas(top, bg = "blue", height = 250, width = 300)

coord = 10, 50, 240, 210
arc = C.create_arc(coord, start = 0, extent = 150, fill = "red")
line = C.create_line(10,10,200,200,fill = 'white')
C.pack()
top.mainloop()

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -