SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
*                    http://corsogtk.chipsy.it/




    Label,Button,Entry
*
* Le label sono dei contenitori di testo, questo
 testo viene visualizzato e non può ne essere
 selezionato dall’utente o modificato per via
 diretta.


* Per crearle dobbiamo usare la funzione
area_testo = gtk_label_new("testo inziale");


* Possiamo cambiare il contenuto in qualsiasi
 momento usando la funzione
gtk_label_set(area_testo,"nuovo testo");
* Avere dei testi tutti della stessa dimensione ,
 carattere e colore, è una cosa brutta da
 vedere! per fortuna esiste una funzione molto
 semplice che ci aiuta a personalizzare ogni
 singola label.
* Questa funzione è
gtk_label_set_markup(area_testo,"<span
foreground='green'>Testo verde</span>");


Questa funzione ci permette di gestire la label come
che la visualizzi un browser e quindi con una sintassi
simile all’HTML.
Questo linguaggio di markup si chiama Pango markup
format-
* Alcuni elementi base del linguaggio «Pango markup
 format» :
* <span></span> possiamo dargli degli attributi inserendoli
 tra <span e >
   ciò che è contenuto tra <span> e </span> è il testo che
   deve essere mostrato
* Attributi :
* foreground (o fgcolor o color)
     colore del testo, può essere il nome inglese del colore o in
     formato HTML (#FFFFFF , RGB, il colore è diviso in 3 colori
     scritti in esadecimale, il primo FF è il Rosso, secondo Verde,
     terzo Blu)
* background (o bgcolor)
     colore dello sfondo
* font
     Nome della font usata e dimensione ad esempio : Sans Italic
     12
* font_family (o face)
     Nome della font usata (da solo)
* font_style (o style)
     Stile del font ('normal', 'oblique', 'italic')
* font_weight (o weight)
     Grossezza del testo ('ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy')
     esprimibile anche con un numero volendo
* underline
     Se il testo deve essere sottolineato : 'none', 'single', 'double',
     'low', 'error‘
* underline_color
     Colore della linea di sottolineatura
* è possibile usare dei tag diversi da <span> in modo da
 dover scrivere meno codice, questi tag assegnano
 velocemente una proprietà e non hanno attributi :


* <b>Ciao</b>             Grassetto
* <i>Ciao</i>             Corsivo
* <u>Ciao</u>             Sottolineato
* <s>Ciao</s>             Barrato
* <sub>Ciao</sub>         Pedice
* <sup>Ciao</sup>         Apice
* <small>Ciao</small>     Diminuisce la dimensione
* <big>Ciao</big>         Aumenta la dimensione
* <tt>Ciao</tt>           Font monospace
*
* Per creare un bottone dobbiamo usare :

* bottone    = gtk_button_new();
* bottone= gtk_button_new_with_label("Testo
 bottone");


* e infine
* bottone= gtk_button_new_with_mnemonic
 ("&Cliccami");


* Quest’ultimo modo di crearlo è quello migliore,
 infatti in questo modo la lettere subito dopo «&»
 viene sottolineata e calcando ALT+quella lettera, si
 schiaccia il bottone.
* Possiamo anche aggiungere un’immagine al
 bottone, per fare questo dobbiamo prima
 abilitare il bottone a mostrare le immagini :

* e dopo assegnarli un GtkImage (si quelle dell’altra
 presentazione)

gtk_button_set_image (mio_bottone,mia_immagine);



* Per assegnare una funzione al bottone in modo che
 quando clicchiamo venga eseguita dobbiamo
 connettere il segnale "button-release-event" (vedi
 presentazione 1)
*
* I Toggle button son dei bottoni che quando vengono
    premuti restano premuti, e quando vengono
    ripremuti tornano come erano all’inizio :



Per crearli possiamo usare :
*   my_button = gtk_toggle_button_new ()
*   my_button = gtk_toggle_button_new_with_label ()
*   my_button = gtk_toggle_button_new_with_mnemonic ()


Per sapere quando vengono premuti abbiamo l’evento
"toggled"
e per sapere se son attualmente premuti possiamo usare
schiacciato = gtk_toggle_button_get_active (my_button)

quello che otteniamo è un valore boolean (TRUE/FALSE)
* I check button son quelli che comunemente
    chiamiamo bottoni a spunta o checkbox :



Per crearli possiamo usare :
*   my_button = gtk_check_button_new ()
*   my_button = gtk_check_button_new _with_label ()
*   my_button = gtk_check_button_new _with_mnemonic ()


Per sapere quando vengono premuti abbiamo l’evento
e se son premuti dobbiamo usare le funzioni del
toggle button appena visto
* Altro figlioletto che potrebbe tornarci utile è il
    link button, questo bottone mostra un
    collegamento a un sito che può essere cliccato




Per crearlo possiamo usare :
*   my_button = gtk_link_button_new ("http://sito.com")
*   my_button = gtk_link_button_new_with_label
    ("http://sito.com","Testo collegamento")
*
* L’entry è un’area di testo in cui l’utente può
    scrivere, possiamo crearle con le seguenti
    funzioni :

*   area_testo = gtk_entry_new ();
*   area_testo = gtk_entry_new_with_max_length (20);


* Nel secondo modo l’utente non potrà inserire più di
    20 caratteri, cosa molto utile se dobbiamo
    memorizzare il suo contenuto in un vettore di
    caratteri di lunghezza fissa.
* Per inserire noi testo nell’entry da codice
 abbiamo 3 funzioni :

1.   gtk_entry_set_text (area_testo,"ciao")
2.   gtk_entry_append_text (area_testo,"ciao")
3.   gtk_entry_prepend_text (area_testo,"ciao")



Che rispettivamente :
1.   Imposta il testo a "ciao"
2.   Aggiunge alla fine del testo già contenuto "ciao"
3.   Aggiunge all’inizio del testo già contenuto "ciao"
* Se invece vogliamo prendere il testo contenuto
 nell’entry abbiamo a disposizione 2 utili
 funzioni :

1.   testo = gtk_entry_get_text(area_testo);
2.   lunghezza = gtk_entry_get_text_length (area_testo);



Che rispettivamente :
1.   Mi da il testo contenuto nell’entry
2.   Mi da la lunghezza del testo contenuto nell’entry


Nota :
La prima funzione restituisce un *char
*
* Lo spinbutton è il figlio dell’entry che torna più
 utile per l’input di numeri.
* Di default questo widget accetta solo numeri
  dall’utente, tuttavia è impostabile perché accetti
  anche lettere.
* Per crearlo possiamo usare :
my_edit = gtk_spin_button_new_with_range (10,100,5);


I parametri sono :
1. Valore minimo dello spinbutton
2. Valore massimo dello spinbutton
3. Di quanto deve variare il valore premendo dei
     bottoni
* Esiste anche la funzione classica di creazione dello
  spinbutton ma comporta che prima dobbiamo creare
  anche un GtkAdjustment cosa che a noi risoluta scomoda.
* Per leggerne il contenuto abbiamo a
    disposizione 2 funzioni :

1.    double num = gtk_spin_button_get_value (my_edit)
2.    int num = gtk_spin_button_get_value_as_int (my_edit)



* Invece per settarne il valore abbiamo :

*   gtk_spin_button_set_value(my_edit,10.20);

Más contenido relacionado

La actualidad más candente

Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passi
Qt Lezione1: Creare una dialog Window con Qt Creator  in 10 semplici passiQt Lezione1: Creare una dialog Window con Qt Creator  in 10 semplici passi
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passiPaolo Sereno
 
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passiQt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passiPaolo Sereno
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerMatteo Magni
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiSimone Gentili
 

La actualidad más candente (7)

Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passi
Qt Lezione1: Creare una dialog Window con Qt Creator  in 10 semplici passiQt Lezione1: Creare una dialog Window con Qt Creator  in 10 semplici passi
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passi
 
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passiQt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passi
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesigner
 
Introduzione a Latex
Introduzione a LatexIntroduzione a Latex
Introduzione a Latex
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
 

Último

Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxteccarellilorenzo
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.camillaorlando17
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................giorgiadeascaniis59
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxtecongo2007
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxlorenzodemidio01
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxlorenzodemidio01
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................giorgiadeascaniis59
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....giorgiadeascaniis59
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxtecongo2007
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileNicola Rabbi
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxtecongo2007
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024IISGiovanniVallePado
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxtecongo2007
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxlorenzodemidio01
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxlorenzodemidio01
 

Último (20)

Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptxProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
ProgettoDiEducazioneCivicaDefinitivo_Christian Tosone.pptx
 

C(99) gtk 04 - label,button e entry

  • 1. * http://corsogtk.chipsy.it/ Label,Button,Entry
  • 2. *
  • 3. * Le label sono dei contenitori di testo, questo testo viene visualizzato e non può ne essere selezionato dall’utente o modificato per via diretta. * Per crearle dobbiamo usare la funzione area_testo = gtk_label_new("testo inziale"); * Possiamo cambiare il contenuto in qualsiasi momento usando la funzione gtk_label_set(area_testo,"nuovo testo");
  • 4. * Avere dei testi tutti della stessa dimensione , carattere e colore, è una cosa brutta da vedere! per fortuna esiste una funzione molto semplice che ci aiuta a personalizzare ogni singola label. * Questa funzione è gtk_label_set_markup(area_testo,"<span foreground='green'>Testo verde</span>"); Questa funzione ci permette di gestire la label come che la visualizzi un browser e quindi con una sintassi simile all’HTML. Questo linguaggio di markup si chiama Pango markup format-
  • 5. * Alcuni elementi base del linguaggio «Pango markup format» : * <span></span> possiamo dargli degli attributi inserendoli tra <span e > ciò che è contenuto tra <span> e </span> è il testo che deve essere mostrato * Attributi : * foreground (o fgcolor o color) colore del testo, può essere il nome inglese del colore o in formato HTML (#FFFFFF , RGB, il colore è diviso in 3 colori scritti in esadecimale, il primo FF è il Rosso, secondo Verde, terzo Blu) * background (o bgcolor) colore dello sfondo
  • 6. * font Nome della font usata e dimensione ad esempio : Sans Italic 12 * font_family (o face) Nome della font usata (da solo) * font_style (o style) Stile del font ('normal', 'oblique', 'italic') * font_weight (o weight) Grossezza del testo ('ultralight', 'light', 'normal', 'bold', 'ultrabold', 'heavy') esprimibile anche con un numero volendo * underline Se il testo deve essere sottolineato : 'none', 'single', 'double', 'low', 'error‘ * underline_color Colore della linea di sottolineatura
  • 7. * è possibile usare dei tag diversi da <span> in modo da dover scrivere meno codice, questi tag assegnano velocemente una proprietà e non hanno attributi : * <b>Ciao</b> Grassetto * <i>Ciao</i> Corsivo * <u>Ciao</u> Sottolineato * <s>Ciao</s> Barrato * <sub>Ciao</sub> Pedice * <sup>Ciao</sup> Apice * <small>Ciao</small> Diminuisce la dimensione * <big>Ciao</big> Aumenta la dimensione * <tt>Ciao</tt> Font monospace
  • 8. *
  • 9. * Per creare un bottone dobbiamo usare : * bottone = gtk_button_new(); * bottone= gtk_button_new_with_label("Testo bottone"); * e infine * bottone= gtk_button_new_with_mnemonic ("&Cliccami"); * Quest’ultimo modo di crearlo è quello migliore, infatti in questo modo la lettere subito dopo «&» viene sottolineata e calcando ALT+quella lettera, si schiaccia il bottone.
  • 10. * Possiamo anche aggiungere un’immagine al bottone, per fare questo dobbiamo prima abilitare il bottone a mostrare le immagini : * e dopo assegnarli un GtkImage (si quelle dell’altra presentazione) gtk_button_set_image (mio_bottone,mia_immagine); * Per assegnare una funzione al bottone in modo che quando clicchiamo venga eseguita dobbiamo connettere il segnale "button-release-event" (vedi presentazione 1)
  • 11. *
  • 12. * I Toggle button son dei bottoni che quando vengono premuti restano premuti, e quando vengono ripremuti tornano come erano all’inizio : Per crearli possiamo usare : * my_button = gtk_toggle_button_new () * my_button = gtk_toggle_button_new_with_label () * my_button = gtk_toggle_button_new_with_mnemonic () Per sapere quando vengono premuti abbiamo l’evento "toggled" e per sapere se son attualmente premuti possiamo usare schiacciato = gtk_toggle_button_get_active (my_button) quello che otteniamo è un valore boolean (TRUE/FALSE)
  • 13. * I check button son quelli che comunemente chiamiamo bottoni a spunta o checkbox : Per crearli possiamo usare : * my_button = gtk_check_button_new () * my_button = gtk_check_button_new _with_label () * my_button = gtk_check_button_new _with_mnemonic () Per sapere quando vengono premuti abbiamo l’evento e se son premuti dobbiamo usare le funzioni del toggle button appena visto
  • 14. * Altro figlioletto che potrebbe tornarci utile è il link button, questo bottone mostra un collegamento a un sito che può essere cliccato Per crearlo possiamo usare : * my_button = gtk_link_button_new ("http://sito.com") * my_button = gtk_link_button_new_with_label ("http://sito.com","Testo collegamento")
  • 15. *
  • 16. * L’entry è un’area di testo in cui l’utente può scrivere, possiamo crearle con le seguenti funzioni : * area_testo = gtk_entry_new (); * area_testo = gtk_entry_new_with_max_length (20); * Nel secondo modo l’utente non potrà inserire più di 20 caratteri, cosa molto utile se dobbiamo memorizzare il suo contenuto in un vettore di caratteri di lunghezza fissa.
  • 17. * Per inserire noi testo nell’entry da codice abbiamo 3 funzioni : 1. gtk_entry_set_text (area_testo,"ciao") 2. gtk_entry_append_text (area_testo,"ciao") 3. gtk_entry_prepend_text (area_testo,"ciao") Che rispettivamente : 1. Imposta il testo a "ciao" 2. Aggiunge alla fine del testo già contenuto "ciao" 3. Aggiunge all’inizio del testo già contenuto "ciao"
  • 18. * Se invece vogliamo prendere il testo contenuto nell’entry abbiamo a disposizione 2 utili funzioni : 1. testo = gtk_entry_get_text(area_testo); 2. lunghezza = gtk_entry_get_text_length (area_testo); Che rispettivamente : 1. Mi da il testo contenuto nell’entry 2. Mi da la lunghezza del testo contenuto nell’entry Nota : La prima funzione restituisce un *char
  • 19. *
  • 20. * Lo spinbutton è il figlio dell’entry che torna più utile per l’input di numeri. * Di default questo widget accetta solo numeri dall’utente, tuttavia è impostabile perché accetti anche lettere. * Per crearlo possiamo usare : my_edit = gtk_spin_button_new_with_range (10,100,5); I parametri sono : 1. Valore minimo dello spinbutton 2. Valore massimo dello spinbutton 3. Di quanto deve variare il valore premendo dei bottoni * Esiste anche la funzione classica di creazione dello spinbutton ma comporta che prima dobbiamo creare anche un GtkAdjustment cosa che a noi risoluta scomoda.
  • 21. * Per leggerne il contenuto abbiamo a disposizione 2 funzioni : 1. double num = gtk_spin_button_get_value (my_edit) 2. int num = gtk_spin_button_get_value_as_int (my_edit) * Invece per settarne il valore abbiamo : * gtk_spin_button_set_value(my_edit,10.20);