Python - 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, em que 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 -

import Tkinter

top = Tkinter.Tk()

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

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

C.pack()
top.mainloop()

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