pubblicato Sabato 04 Novembre del 2006 alle 19:02.

Ho delle novità nelle interfaccie grafiche (le GUI) da me utilizzate nel funzionamento dei miei script in Bash. [smile]

Ho iniziato da usare un nuovo programma per la creazione di GUI. Si chiama gtkdialog e può essere usato anche con altri linguaggi di programmazione, per esempio con il linguaggio C.

La creazione di interfaccie con questo programma non è semplice paragonato a zenity, ma la sua maggiore complessità lo rende notevolmente più flessibile e potente.

Breve Introduzione
La configurazione si basa quasi esclusivamente sulla dichiarazione di una variabile che per regola acquisita chiamerò “MAIN_DIALOG”. La sintassi è basata su un linguaggio simil XML. I tag attraverso i quali creare la GUI sono predefiniti. Ho creato un esempio inserito sotto di seguito.

export MAIN_DIALOG='
<vbox>
<frame Articolo>
<text>
	<label>Seleziona le categorie da abbinare all`articolo \
'$titolo'.</label>
</text>
</frame>
<frame Lista categoria>
<list>
	<variable>var</variable>
	<item>Prima scelta</item>
	<item>Seconda scelta</item>
	<item>Terza scelta</item>
</list>
</frame>
<hbox>
<button ok></button>
</hbox>
</vbox>'

gtkdialog --program=MAIN_DIALOG

Nella immagine sotto è mostrata l'interfaccia dell'esempio.
gtkdialog 1 L'output della GUI è di questo tipo: var="Seconda scelta" var_ALL="'Prima scelta' 'Seconda scelta' 'Terza scelta' " EXIT="OK" Sotto ci sono altri esempi di GUI che è possibile creare con questo programma.
gtkdialog 3 gtkdialog 2

Note conclusive
Purtroppo la documentazione è scarsa. Quelle poche cose che ho imparato è stato attraverso lo studio degli esempi che è possibile trovare nella cartella /usr/share/doc/gtkdialog/examples. Installazione di gtkdialog non presenta nessun tipo di problema in quanto il pacchetto è disponibile nelle repository di Ubuntu.


powered by FreeFind
Il sito è una creazione di Maurizio... ed è pubblicato sotto una Licenza CC; esso non viene aggiornato
in maniera periodica, pertanto non può essere considerato un prodotto editoriale ai sensi della legge n. 62 del 7.03.2001.