Python 3 - Tkinter Canvas

La tela è un'area rettangolare destinata al disegno di immagini o altri layout complessi. Puoi posizionare grafici, testo, widget o cornici su una tela.

Sintassi

Ecco la semplice sintassi per creare questo widget:

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

Parametri

  • master - Questo rappresenta la finestra principale.

  • options- Ecco l'elenco delle opzioni più comunemente utilizzate per questo widget. Queste opzioni possono essere utilizzate come coppie chiave-valore separate da virgole.

Sr.No. Opzione e descrizione
1

bd

Larghezza del bordo in pixel. L'impostazione predefinita è 2.

2

bg

Colore di sfondo normale.

3

confine

Se true (impostazione predefinita), la tela non può essere spostata al di fuori della regione di scorrimento.

4

cursor

Cursore utilizzato nella tela come freccia, cerchio, punto ecc.

5

height

Dimensioni della tela nella dimensione Y.

6

highlightcolor

Colore mostrato nell'evidenziazione del fuoco.

7

relief

Rilievo specifica il tipo di bordo. Alcuni dei valori sono SUNKEN, RAISED, GROOVE e RIDGE.

8

scrollregion

Una tupla (w, n, e, s) che definisce quanto è grande un'area di scorrimento della tela, dove w è il lato sinistro, n il lato superiore, e il lato destro e s il fondo.

9

width

Dimensioni della tela nella dimensione X.

10

xscrollincrement

Se si imposta questa opzione su una dimensione positiva, la tela può essere posizionata solo su multipli di quella distanza e il valore verrà utilizzato per lo scorrimento mediante unità di scorrimento, come quando l'utente fa clic sulle frecce alle estremità di una barra di scorrimento.

11

xscrollcommand

Se la tela è scorrevole, questo attributo dovrebbe essere il metodo .set () della barra di scorrimento orizzontale.

12

yscrollincrement

Funziona come xscrollincrement, ma governa il movimento verticale.

13

yscrollcommand

Se la tela è scorrevole, questo attributo dovrebbe essere il metodo .set () della barra di scorrimento verticale.

Il widget Canvas può supportare i seguenti elementi standard:

arc . Crea un elemento ad arco, che può essere un accordo, una fetta di torta o un arco semplice.

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

image . Crea un elemento immagine, che può essere un'istanza delle classi BitmapImage o PhotoImage.

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

line . Crea un elemento pubblicitario.

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

oval .Crea un cerchio o un'ellisse alle coordinate date. Richiede due coppie di coordinate; gli angoli superiore sinistro e inferiore destro del rettangolo di delimitazione dell'ovale.

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

polygon . Crea un elemento poligono che deve avere almeno tre vertici.

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

Esempio

Prova tu stesso il seguente esempio:

# !/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()

Risultato

Quando il codice sopra viene eseguito, produce il seguente risultato: