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 -