Tk - Panoramica dei widget

Il componente di base di un'applicazione basata su Tk è chiamato widget. Un componente è talvolta chiamato anche una finestra, poiché, in Tk, "finestra" e "widget" sono spesso usati in modo intercambiabile. Tk è un pacchetto che fornisce un ricco set di componenti grafici per la creazione di applicazioni grafiche con Tcl.

Tk fornisce una gamma di widget che vanno dai widget GUI di base come pulsanti e menu ai widget per la visualizzazione dei dati. I widget sono molto configurabili in quanto hanno configurazioni predefinite che li rendono facili da usare.

Le applicazioni Tk seguono una gerarchia di widget in cui è possibile posizionare un numero qualsiasi di widget all'interno di un altro widget e questi widget all'interno di un altro widget. Il widget principale in un programma Tk è denominato widget di root e può essere creato creando una nuova istanza della classe TkRoot.

Creazione di un widget

Di seguito viene fornita la sintassi per la creazione di un widget.

type variableName arguments options

Il tipo qui si riferisce al tipo di widget come pulsante, etichetta e così via. Gli argomenti possono essere facoltativi e obbligatori in base alla sintassi individuale di ciascun widget. Le opzioni variano dalla dimensione alla formattazione di ogni componente.

Convenzione di denominazione dei widget

Widget utilizza una struttura simile alla denominazione dei pacchetti. In Tk, la finestra principale è denominata con un punto (.) E un elemento nella finestra, ad esempio button è denominato .myButton1. Il nome della variabile deve iniziare con una lettera minuscola, una cifra o un segno di punteggiatura (tranne un punto). Dopo il primo carattere, altri caratteri possono essere lettere maiuscole o minuscole, numeri o segni di punteggiatura (tranne i punti). Si consiglia di utilizzare una lettera minuscola per iniziare l'etichetta.

Convenzione sulla denominazione dei colori

I colori possono essere dichiarati usando nomi come rosso, verde e così via. Può anche utilizzare la rappresentazione esadecimale con #. Il numero di cifre esadecimali può essere 3, 6, 9 o 12.

Convenzione dimensionale

L'unità predefinita è pixel e viene utilizzata quando non specifichiamo alcuna dimensione. Le altre dimensioni sono i per pollici, m per millimetri, c per centimetri ep per punti.

Opzioni comuni

Ci sono così tante opzioni comuni disponibili per tutti i widget e sono elencate di seguito nella tabella seguente:

Sr.No. Sintassi e descrizione
1

-background color

Utilizzato per impostare il colore di sfondo per il widget.

2

-borderwidth width

Utilizzato per disegnare con il bordo negli effetti 3D.

3

-font fontDescriptor

Utilizzato per impostare il carattere per il widget.

4

-foreground color

Utilizzato per impostare il colore di primo piano per il widget.

5

-height number

Utilizzato per impostare l'altezza del widget.

6

-highlightbackground color

Utilizzato per impostare il rettangolo di colore da disegnare intorno a un widget quando il widget non ha il focus di input.

7

-highlightcolor color

Utilizzato per impostare il rettangolo di colore da disegnare attorno a un widget quando il widget ha il focus di input.

8

-padx number

Imposta il padx per il widget.

9

-pady number

Imposta il pady per il widget.

10

-relief condition

Imposta lo scarico 3D per questo widget. La condizione può essere sollevata, infossata, piatta, cresta, solida o solcata.

11

-text text

Imposta il testo per il widget.

12

-textvariable varName

Variabile associata al widget. Quando il testo del widget cambia, la variabile viene impostata con il testo del widget.

13

-width number

Imposta la larghezza per il widget.

Di seguito è mostrato un semplice esempio di opzioni.

#!/usr/bin/wish

grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
   -padx 100 -pady 100

Quando eseguiamo il programma precedente, otterremo il seguente output.

L'elenco dei widget disponibili è classificato di seguito:

Widget di base

Sr.No. Widget e descrizione
1

Label

Widget per la visualizzazione di una singola riga di testo.

2

Button

Widget cliccabile e che attiva un'azione.

3

Entry

Widget utilizzato per accettare una singola riga di testo come input.

4

Message

Widget per la visualizzazione di più righe di testo.

5

Text

Widget per la visualizzazione e la modifica facoltativa di più righe di testo.

6

Toplevel

Finestra con tutti i bordi e le decorazioni forniti dal Window manager.

Widget di layout

Sr.No. Widget e descrizione
1

Frame

Widget contenitore per contenere altri widget.

2

Place

Widget per tenere altri widget in un luogo specifico con le coordinate della sua origine e una dimensione esatta.

3

Pack

Widget semplice per organizzare i widget in blocchi prima di posizionarli nel widget genitore.

4

Grid

Widget per annidare i widget che si impacchettano in direzioni diverse.

Widget di selezione

Sr.No. Widget e descrizione
1

Radiobutton

Widget che dispone di una serie di pulsanti di attivazione / disattivazione ed etichette, una delle quali può essere selezionata.

2

Checkbutton

Widget con una serie di pulsanti ed etichette di attivazione / disattivazione, molti dei quali possono essere selezionati.

3

Menu

Widget che funge da supporto per le voci di menu.

4

Listbox

Widget che mostra un elenco di celle, una o più delle quali possono essere selezionate.

Mega widget

Sr.No. Widget e descrizione
1

Dialog

Widget per la visualizzazione delle finestre di dialogo.

2

Spinbox

Widget che consente agli utenti di scegliere i numeri.

3

Combobox

Widget che combina una voce con un elenco di scelte disponibili per l'uso.

4

Notebook

Widget a schede che aiuta a passare da una pagina all'altra, utilizzando una scheda indice.

5

Progressbar

Widget per fornire un feedback visivo sullo stato di avanzamento di una lunga operazione come il caricamento di file.

6

Treeview

Widget per visualizzare e consentire la navigazione attraverso una gerarchia di elementi più sotto forma di albero.

7

Scrollbar

Scorrimento di widget senza testo o widget di tela.

8

Scale

Widget di scala per scegliere un valore numerico tramite i cursori.

Altri widget

Sr.No. Widget e descrizione
1

Canvas

Widget di disegno per la visualizzazione di grafici e immagini ..

Tratteremo ciascuno di questi widget nei prossimi capitoli.