Qualche settimana fa avevamo introdotto le regole basilari del linguaggio di scripting TCL, riprendiamo il discorso su questo linguaggio, spiegando questa volta come creare velocemente delle interfacce utente attraverso la sua integrazione con il toolkit TK. La semplicità del linguaggio di scripting TCL unita agli strumenti TK ci permette di sviluppare rapidamente interfacce grafiche.
Infatti andremo a sviluppare ad un livello di astrazione superiore rispetto agli altri linguaggi ed i vantaggi sono:
Gli elementi base per la creazione di interfacce grafiche sono i widget ( windows object ), possono essere bottoni, caselle di testo o immagini, liste per la selezione ed altro. In generale ad un widget sono associate:
Un tipo particolare di widget è il frame, che a differenza degli altri non si mostra come elemento interattivo, ma come contenitore di altri widget. In un’applicazione i widget sono disposti in ordine gerarchico, tutti sono figli della finestra principale e all’interno di questa possono esserci dei frame che consentono di raggruppare oggetti grafici, i propri figli, in zone ben precise e delimitate dai contorni che possono essere visibili o nascosti. Ecco le istruzioni basilari per creare una finestra:
# window.tcl # eseguire: wish window.tcl wm title . "La Mia Prima Finestra in TCL/TK" wm geometry . +100+100 wm minsize . 640 480 wm resizable . 1 1
La parola chiave wm si riferisce a window manager, il programma responsabile della gestione delle finestre. La finestra principale della nostra applicazione si rifesrisce con il punto ” . ” , quindi il primo comando imposta il titolo della finestra principale, il secondo pone la finestra nel punto ( 100, 100) dello schermo in alto a sinistra, il terzo pone le dimensioni minime della finestra a 640 x 480 pixel ed il quarto consente il ridimensionamento sia orizzontale che verticale, nel caso contrario al posto di 1 va inserito 0 ( zero ). A questo punto dobbiamo iniziare a riempire la nostra finestra di widget come la barra dei menu ed i frame.
menu .menuBar .menuBar add cascade -menu .menuBar.file -label "File" -underline 0 menu .menuBar.file -tearoff 1 .menuBar.file add command -label "Primo comando" -command "" \ -state disabled -underline 0 .menuBar.file add command -label "Secondo comando" -command "" \ -state disabled -underline 0 .menuBar.file add command -label "Terzo comando" -command "" \ -state disabled -underline 0 .menuBar.file add sep .menuBar.file add command -label "Esci" -command "exit" -underline 0 .menuBar add cascade -menu .menuBar.help -label "Aiuto" -underline 0 menu .menuBar.help -tearoff 1 .menuBar.help add command -label "Informazioni su..." -command "" \ -state disabled -underline 0 . config -menu .menuBar
Il menu principale .menuBar è costituito da due voci principali: “File” che ha tre voci disabilitate, un separatore ed il comando di uscita dall’applicazione, l’altra voce principale è il classico “Informazioni su…”. Essendo un figlio della finestra principale gli si assegna un nome con un punto davanti e dichiararlo di tipo “menu“. A questo punto si vanno ad inserire le varie voci e si crea un figlio di .menuBar: con -tearoff uguale ad 1 si consente al menu di essere strappato dalla barra principale e trasportarlo in qualsiasi parte dello schermo ( provate a fare clic sulla linea tratteggiata all’inizio del menu a tendina ), con -label si assegna il nome dell’etichetta, con -command si associa un comando, con -state si gestisce lo stato del comando ed infine con -underline si imposta il carattere sottolineato. Il menu così creato è attribuito alla finestra principale attraverso il comando config di TK.
Ora vedremo come inserire un frame in basso alla finestra principale ed a destra inseriremo un bottone di chiusura.
frame .bottom pack .bottom -side bottom -fill x button .bottom.quit -text "Esci" -command "exit" -underline 0 pack .bottom.quit -side right
Definiamo un frame di nome .bottom, mettiamo il punto perché fa parte della finestra principale e poi lo sistemiamo in fondo con il comando pack ( per default è posizionato in alto ), indicando -side bottom, -fill x serve per allungarlo all’intera larghezza della finestra principale. Successivamente viene creato un pulsante a cui viene data una etichetta ed un comando e viene inserito a destra del nostro frame.
Con questo articolo avete potuto notare la semplicità dello sviluppo di applicazioni grafiche con TCL/TK, semplice perché stiamo programmando ad alto livello, al punto che questo linguaggio è definito di scripting. In un articolo futuro spiegheremo come gestire le azioni degli utenti.
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→