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: