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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

264

Published on

Utilizzo dei widget : …

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
264
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
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);

×