Tutorial 1: Hola Primaria

Este post es el primero de una serie que voy a publicar sobre el uso elemental y python para desarrollar aplicaciones. El código fuente de todos los ejemplos que estoy proporcionando se puede encontrar en un repositorio GitHub aquí. Buscando conseguir ayuda con el desarrollo? – Hemos comenzado una sección de programación centrado de los foros Bodhi Linux aquí. Otros grandes recursos para obtener ayuda son el desa lista de correo de la Ilustración, así como # e IRC en freenode. También he añadido la documentación de la API elemental python a la página web de Bodhi aquí

Ejemplo 1.
Como la mayoría de la gente (yo incluido) aprenden mejor a través de ejemplos, vamos a bucear a la derecha en el código. Para empezar, vamos a ser la creación de una ventana simple que muestra un poco de texto para nosotros. Se verá algo como esto:

La inclusión de mis comentarios explicando lo que hace cada línea de código, que nos lleva menos de 50 líneas de código para obtener la ventana de arriba en nuestra pantalla. Vamos a echar un vistazo (también se puede encontrar el código fuente de esta lección aquí):

 # Importar la biblioteca de primaria por lo que podemos usarlo 
importación

elemental import evas, utilizado para cambiar el tamaño de las cosas


# Función que crea y muestra un hello_elementary ventana
def elemental ():
# Crea una ventana primaria "Estándar". El primer argumento es el nombre de nuestra ventana. El segundo argumento es el título que aparece en la barra de la ventana
ventana = elementary.StandardWindow ("hola mundo", "Hola Primaria")

# callback_delete_request_add dice nuestra ventana qué hacer cuando se trata de " close "se pulsa el botón
window.callback_delete_request_add (lambda o: elementary.exit ())

# Contenido de nuestra ventana. Crea un objeto "Label" que muestre texto en la ventana. Cuando creamos un objeto elemental debemos proporcionar una ventana principal como entrada
windytax = elementary.Label (ventana)

# Le dice nuestro objeto de etiqueta para cambiar el tamaño en función del tamaño de nuestra ventana
windytax.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
windytax.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)

# define qué texto de nuestra ventana debería mostrar
windytax.text = ' Hola Primaria! '

# Si queremos ver nuestro objeto tenemos que decirle que se muestre
windytax.show ()

# resize_object_add agrega nuestro objeto Label "windytax" a la ventana
window.resize_object_add (windytax)

# resize toma un par ordenado como entrada para el tamaño de nuestra ventana, las dimenions son píxel por píxel
window.resize (300300)

# Finalmente permite decirle a nuestro objeto de ventana a aparecer tal como lo hicimos con nuestra etiqueta
ventana.
# show ()
Se ejecuta cuando nuestro script se ejecuta
if __ name__ == "__main__":
# Ejecuta nuestra función de lo que crea nuestra ventana
hello_elementary ()

# Inicia un ciclo de eventos elementales que muestra todos los objetos elementales que hemos creado. Nuestro código se mantiene en este punto hasta elementary.exit () se llama
elementary.run ()

# Una vez elemental se hace correr deja que todo apagado para finalizar la
aplicación elemental . shutdown ()

En este ejemplo vamos a crear dos objetos elementales: Un StandardWindow y una etiqueta. El StandardWindow como se puede adivinar es la ventana que estamos creando, mientras que la etiqueta es un objeto secundario que añadimos a nuestra ventana para mostrar

Ejemplo 2.
Queremos que nuestra aplicación pueda hacer mucho más que simplemente mostrar texto (la mayoría de las veces). Así que vamos a seguir adelante y añadir un par de objetos para nuestra aplicación Hello Primaria. Vamos a añadir un botón que cierra nuestra aplicación:

El código completo para esta aplicación se puede encontrar aquí. Ahora voy a poner de relieve lo que es diferente de nuestro ejemplo anterior

 def hello_elementary ():. 
...

# Crear un objeto de botón botón elemental />

# Establezca un texto de nuestro botón
button.text = "Adiós Primaria"

# callback_pressed_add dice nuestro botón de una devolución de llamada que se ejecutará cuando se pulsa el botón, el primer argumento es la función de ejecución y los argumentos siguientes son las cosas para pasar a la devolución de llamada
button.callback_pressed_add (button_pressed "argumento1", "argumento2 ")

# Mostrar nuestra button.show />

# Puesto que ahora tenemos varios objetos que queremos mostrar en nuestra ventana, podemos colocar estos objetos con una caja elemental que es un objeto contenedor que se puede "paquete" de elementos en.

# crear un cuadro />

# Recomendar a nuestra caja para llenar todo el espacio abierto en la ventana
box.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
box.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)

# Mostrar nuestra caja
box.show ()

# Permite empacar nuestro sello y el botón en nuestra caja!
box.pack_end (windytax)
box.pack_end (botón)

# Esta vez le permite utilizar nuestra caja en lugar de sólo nuestra
etiqueta window.resize_object_add (caja)

# Nuestra devolución de llamada cuando el botón se presiona. El primer argumento de esta función será el objeto de botón elemental. El resto de los argumentos son las cosas que pasamos por encima personalizados
def button_pressed (botón, arg1, arg2):
# Mostrar el contenido de nuestros argumentos en la terminal arg1 impresión />
# Permite tener nuestro botón de cerrar la aplicación, por lo que ejecutar:

Ejemplo 2 añade dos objetos más elementales de nuestra aplicación – una Caja y un Button. Una caja es un objeto elemental que usamos para mantener otros objetos elementales que se encuentren a la forma en que los queremos dentro de nuestra ventana de la aplicación. Usted «pack» de elementos en una caja que sea, ya sea vertical (por defecto) o horizontal. Un botón es un objeto que puede tener texto y / o imágenes que se muestran en él que pueden disparar una devolución de llamada cuando se presiona

Recursos para esta lección:.

  • Hola Primaria
  • StandardWindow
  • etiqueta
  • Caja
  • Button

~ Jeff Hoogland

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *