PyGTK - Finestra di selezione dei caratteri

Il widget gtk.FontSelection consente agli utenti di selezionare e applicare il carattere di un particolare nome, dimensione e stile. La finestra di dialogo ha una finestra di anteprima contenente del testo che verrà visualizzato nella descrizione del carattere selezionato e due pulsanti ANNULLA e OK.

L'API PyGTK contiene un modulo Pango che definisce le classi e le funzionalità richieste per rendere il testo internazionalizzato di alta qualità. La gestione dei caratteri e del testo in gtk è supportata da Pango. L'oggetto pango.Font rappresenta un font in modo indipendente dal sistema. L'oggetto pango.FontDescription contiene le caratteristiche di un carattere.

gtk.FontSelectionDialog restituisce un oggetto pango.Font. Per applicare il carattere selezionato, fontmetrics viene recuperato ottenendo l'oggetto pango.FontDescription da esso.

Quello che segue è un costruttore della classe FontSelectionDialog -

dlg = gtk.FontSelectionDialog(title)

I seguenti sono alcuni metodi usati di frequente di questa classe:

  • get_font_name() - Restituisce una stringa contenente il nome del carattere attualmente selezionato o Nessuno se non è selezionato alcun nome del carattere.

  • set_font_name() - Questo imposta il carattere corrente

  • set_preview_text() - Questo imposta il testo nella voce dell'area di anteprima

Il carattere selezionato viene applicato al testo in un widget utilizzando il metodo modify_font ().

Quando la voce di menu FontSelectionDialog è attivata, viene richiamata la seguente funzione di callback:

def on_abtdlg(self, widget):
   about = gtk.AboutDialog()
   about.set_program_name("PyGTK Dialog")
   about.set_version("0.1")
   about.set_authors("M.V.Lathkar")
   about.set_copyright("(c) TutorialsPoint")
   about.set_comments("About Dialog example")
   about.set_website("http://www.tutorialspoint.com")
   about.run()
   about.destroy()

Il carattere selezionato viene applicato al testo dell'etichetta posizionata nella finestra di primo livello.

Quello che segue è l'output: