Your SlideShare is downloading. ×
  • Like
C(99) gtk   04 - label,button e entry
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

  • 215 views
Published

Utilizzo dei widget : …

Utilizzo dei widget :
Label,button ed entry.
Un rapido sguardo anche sui principali widget derivati da essi

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
215
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 funzionearea_testo = gtk_label_new("testo inziale");* Possiamo cambiare il contenuto in qualsiasi momento usando la funzionegtk_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,"<spanforeground=green>Testo verde</span>");Questa funzione ci permette di gestire la label comeche la visualizzi un browser e quindi con una sintassisimile all’HTML.Questo linguaggio di markup si chiama Pango markupformat-
  • 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 usareschiacciato = 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’eventoe se son premuti dobbiamo usare le funzioni deltoggle button appena visto
  • 14. * Altro figlioletto che potrebbe tornarci utile è il link button, questo bottone mostra un collegamento a un sito che può essere cliccatoPer 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’entry2. Mi da la lunghezza del testo contenuto nell’entryNota :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 spinbutton2. Valore massimo dello spinbutton3. 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);