9.15. Diálogo de Selección de Fuentes

El Diálogo de Selección de Fuentes permite al usuario seleccionar una fuente de forma interactiva. El diálogo contiene un control FontSelection y botones de OK y Cancelar. Un botón de Aplicar también está disponible en el diálogo, pero inicialmente está oculto. El Diálogo de Selección de Fuentes permite al usuario seleccionar una fuente de las fuentes de sistema disponibles (las mismas que se obtienen al usar xlsfonts).

La figura Figura 9.15, “Diálogo de Selección de Fuentes” ilustra un FontSelectionDialog :

Figura 9.15. Diálogo de Selección de Fuentes

Diálogo de Selección de Fuentes

El diálogo contiene un conjunto de tres fichas que proporcionan:

La función para crear un FontSelectionDialog es:

  fontseldlg = gtk.FontSelectionDialog(title)

El title (título) es una cadena que se usará en el texto de la barra de título.

Una instancia de un Diálogo de Selección de Fuentes tiene varios atributos:

  fontsel
  main_vbox
  action_area
  ok_button
  apply_button
  cancel_button

El atributo fontsel es una referencia al control de selección de fuente. main_vbox es una referencia a la gtk.VBox que contiene el fontsel y el action_area en el diálogo. El atributo action_area es una referencia a la gtk.HButtonBox que contiene los botones OK, Aplicar y Cancelar. Los atributos ok_button, cancel_button y apply_button son referencias a los botones OK, Cancelar y Aplicar que se pueden usar para realizar las conexiones a las señales de los botones. La referencia apply_button también se puede usar para mostrar el botón Aplicar mediante el método show() .

Se puede fijar la fuente inicial que se mostrará en el diálogo usando el método:

  fontseldlg.set_font_name(fontname)

El argumento fontname es el nombre de una fuente de sistema completo o parcialmente especificado. Por ejemplo:

  fontseldlg.set_font_name('-adobe-courier-bold-*-*-*-*-120-*-*-*-*-*-*')

especifica una fuente inicial parcialmente.

El nombre de la fuente seleccionada se puede obtener con el método:

  font_name = fontseldlg.get_font_name()

El Diálogo de Selección de Fuentes tiene un área de previsualización que muestra texto usando la fuente seleccionada. El texto que se usa en el área de previsualización se puede establecer con el método:

  fontseldlg.set_preview_text(text)

El texto de previsualización se puede obtener con el método:

  text = fontseldlg.get_preview_text()

El programa de ejemplo calendar.py usa un diálogo de selección de fuentes para seleccionar la fuente que se usa para mostrar la información del calendario. Las lineas 105-110 definen una retrollamada para obtener el nombre de la fuente a partir del Diálogo de Selección de Fuentes y lo usa para fijar la fuente para el control del calendario. Las lineas 112-131 definen el método que crea un Diálogo de Selección de Fuentes, configura las retrollamadas para los botones OK y Cancelar y muestra el diálogo.