Griglia tkinter

Griglia tkinter
“Creare e progettare una GUI (interfaccia utente grafica) utilizzando un linguaggio di programmazione non è mai stato facile. Tuttavia, la biblioteca Tkinter offre alcune funzioni incredibili e utili per progettare e creare applicazioni GUI in modo rapido e semplice. Offre diverse funzioni integrate in grado di creare automaticamente widget per un'applicazione GUI. In questa guida, esploreremo la funzione Tkinter Grid () fornita dalla libreria Tkinter per progettare un'applicazione GUI. Entro la fine di questo tutorial, sarai in grado di utilizzare la funzione di geometria della griglia nel tuo programma Python."

Cos'è una griglia tkinter?

In generale, la griglia è un quadro di linee di rete che si incrociano e sono parallele tra loro, creando una serie di finestre rettangolari o quadrate. La funzione di geometria della griglia fornita dalla libreria tkinter segue la stessa definizione della griglia.

Il Grid Geometry Manager è uno dei gestori di geometria più flessibili, semplici e più semplici distribuiti dalla biblioteca Tkinter. Ti consente di mettere i widget in una tabella bidimensionale. Organizza le righe e le colonne in parallelo per creare un widget di una forma quadrata o rettangolare. Ad esempio, se hai una presa di dimensioni 2 × 2, sembrerà così:

Ogni intersezione di colonne e righe è nota come "cella", che può contenere un widget. Un numero di indice (riga, colonna) rappresenta ogni cella nella griglia. Quindi, la griglia di dimensioni 2 × 2 sarà rappresentata da (0, 0), (0, 1), (1, 0) e (1, 1). Per impostazione predefinita, la prima riga e la prima colonna hanno un indice zero, la seconda riga e la seconda colonna hanno 1 indice e così via.

Gli indici della griglia non devono essere in una sequenza e possono anche avere lacune. Ad esempio, si desidera aggiungere diversi widget con la griglia, quindi la tua griglia possa apparire come (1, 1), (2, 3), (5, 1), (7, 7), (9, 8) e (10, 10).

Ora scriviamo alcuni codici che ci aiuteranno a utilizzare la funzione di geometria della griglia nel nostro programma Python. Assicurati di eseguire questi programmi di esempio per una migliore comprensione.

Esempio 1

In questo caso, ti mostreremo una griglia 2 × 2. Definiremo l'etichetta per ogni cella come (0, 0), (0, 1), (1, 0) e (1, 1) per mostrarti come la griglia li ha messi in ordine. Innanzitutto, realizziamo un modulo di root TK () per ottenere un ambiente di visualizzazione. Successivamente, useremo la funzione etichetta () per definire il testo per ogni cella nella griglia. E poi, useremo la funzione Grid () per posizionare ogni etichetta () nella cella di una griglia (). Guarda il codice fornito di seguito:

da tkinter import *
da tkinter.Import TTK *
r = tk ()
l1 = etichetta (r, text = "(0,0)")
l2 = etichetta (r, text = "(0,1)")
L3 = etichetta (r, text = "(1,0)")
L4 = etichetta (r, text = "(1,1)")
L1.griglia (riga = 0, colonna = 0, pady = 2)
L2.griglia (riga = 0, colonna = 1, pady = 2)
L3.griglia (riga = 1, colonna = 0, pady = 2)
L4.griglia (riga = 1, colonna = 1, pady = 2)
mainloop ()



Quando si esegue questo codice, verrà visualizzata una finestra pop con una griglia di (0, 0), (0, 1), (1, 0) e (1, 1) etichette. Ecco la finestra pop di output:

Esempio 2

Creiamo un widget che prende input dall'utente. In questo esempio, espanderemo l'esempio precedente e inseriremo un widget contro ogni colonna che prenderà input dall'utente. Fare riferimento al codice allegato di seguito.

Dato che abbiamo ampliato l'esempio precedente, abbiamo appena aggiunto la funzione di iscrizione () per aggiungere il widget di iscrizione nella griglia. La funzione Entry () fornita dalla libreria Tkinter viene utilizzata per ottenere l'ingresso della stringa a riga singola dall'utente. Dopo la funzione ENTER (), abbiamo appena definito i valori della griglia () per le celle di iscrizione. Quando si esegue il codice sopra, otterrai una finestra pop contenente 4 celle piene di testo e 4 celle con una scheda. In ogni scheda, è possibile inserire una stringa a una riga.

da tkinter import *
da tkinter.Import TTK *
r = tk ()
l1 = etichetta (r, text = "prima voce")
L2 = etichetta (r, text = "seconda voce")
L3 = etichetta (r, text = "terza voce")
L4 = etichetta (r, text = "quarta voce")
L1.griglia (riga = 0, colonna = 0, pady = 2)
L2.griglia (riga = 2, colonna = 0, pady = 2)
L3.griglia (riga = 0, colonna = 1, pady = 2)
L4.griglia (riga = 2, colonna = 1, pady = 2)
E1 = voce (R)
E2 = voce (R)
E3 = voce (R)
E4 = voce (R)
E1.griglia (riga = 1, colonna = 0, pady = 2)
E2.griglia (riga = 3, colonna = 0, pady = 2)
E3.griglia (riga = 1, colonna = 1, pady = 2)
E4.griglia (riga = 3, colonna = 1, pady = 2)
mainloop ()



Vedi il widget di output della griglia in basso:


La funzione Entry () accetta una stringa di riga contenente qualsiasi carattere; Può essere un numero, oppure può essere un simbolo, oppure può essere anche un carattere speciale. Vedi la griglia di output di seguito:

Esempio 3

Nell'esempio precedente, puoi osservare che abbiamo usato un'istruzione separata per la creazione di ogni cella. Ad esempio, avevamo bisogno di una griglia di dimensioni 2 × 2, 4 celle in una griglia, quindi abbiamo usato 4 righe di codice. E se avessimo bisogno di una griglia di dimensioni 100 ×? La creazione di una griglia 100 × 100 richiede 10.000 righe di codice? Assolutamente no. È possibile ottenere lo stesso risultato utilizzando i loop. Non ridurrà solo le linee del codice, ma aumenterà anche l'efficienza del programma riducendo la probabilità di errori allo stesso tempo.

Qui, useremo un anello nidificato per fare una griglia di dimensioni definite. Definiremo due per loop che iterano attraverso 10 righe e 10 colonne per creare una griglia di dimensioni 10 × 10. Vediamo il codice qui sotto:

Qui abbiamo definito un modulo root () per ottenere un ambiente di visualizzazione, quindi abbiamo aggiunto nidificato per loop per riga e colonna, "per la riga nell'intervallo (10)" e "per col intervallo (10)". Ciò comporterà una griglia di dimensioni 10 × 10. Il primo ciclo ripeterà da 0 a 9 e il secondo ciclo itederà anche da 0 a 9, creando una griglia di dimensioni 10 × 10. Per la stampa del numero dell'indice per ogni cella, abbiamo utilizzato la funzione di testo della funzione dell'etichetta (), "text =" riga%s - col%s ". La "%s" viene utilizzata per ottenere l'indice cellulare dal loop.

Importa tkinter
r = tkinter.TK ()
Per la riga nell'intervallo (10):
per Col in range (10):
tkinter.Etichetta (r, text = 'riga%s - col%s'%(riga, col),
Borderwidth = 1).griglia (riga = riga, colonna = col)
R.mainloop ()



Ecco la griglia di dimensioni 10 × 10 generata dal codice sopra:

Conclusione

In questo articolo, abbiamo appreso la funzione Grid () fornita dalla Biblioteca Tkinter. La funzione della griglia viene utilizzata per creare una griglia quadrata o di forma rettangolare in un ambiente di visualizzazione. Abbiamo dimostrato alcuni esempi utili per aiutarti a capire come utilizzare una funzione di griglia in un programma Python.