Creando indicators en Python


Navegando por el blog de jono bacon me encontre con un c贸digo de ejemplo y lo he adaptado. Es un ejemplo muy sencillo de como crear un indicador, y asociarle un menu. En el ejemplo creo 5 items en el menu. Uno para lanzar una aplicaci贸n externa (gedit en este caso), para salir, y otros tres que son un ejemplo de como crear un item de menu de tipo radio, check o im谩gen. No me explayo, porque en el c贸digo ya he puesto comentarios. Espero que os sirva para crear vuestras propias aplicaciones.

#! /usr/bin/python

#::::::::::::::::::::::::::::::::
# Ejemplo de uso de AppIndicator
#::::::::::::::::::::::::::::::::

import gobject
import gtk
import appindicator
import os

# Acciones que se ejecutan cuando pulse algun elemento del menu
def action1_clicked(widget,data=None):
print “Lanzando gedit…”
os.system(“gedit &”)

def action2_clicked(widget,data=None):
print “Salir..”
exit();

def quit(widget, data=None):
gtk.main_quit()

# Codigo principal
if __name__ == “__main__”:

# Creo el indicador
ind = appindicator.Indicator (“example-simple-client”, “indicator-messages”, appindicator.CATEGORY_APPLICATION_STATUS)
ind.set_status (appindicator.STATUS_ACTIVE)
ind.set_attention_icon (“indicator-messages-new”)
# Icono para el indicador
ind.set_icon(“distributor-logo”)

# creo un menu
menu = gtk.Menu()

# Empiezo a crear elementos para el menu

# primer elemento (sera de tipo normal)
# texto
item = “Lanzar GEDIT…”
# creo elemento de menu
menu_item = gtk.MenuItem(item)
# al pulsarlo le asocio que ejecute “action1”
menu_item.connect(“activate”, action1_clicked)
# Lo asocio al menu
menu.append(menu_item)

# Parecido para el item 2 del menu
item2 = “Salir”
menu_item2 = gtk.MenuItem(item2)
# al pulsarlo le asocio que ejecute la “action2”
menu_item2.connect(“activate”, action2_clicked)
menu.append(menu_item2)

# Aqui creo el item 3 pero sera de tipo check
check = gtk.CheckMenuItem(“Check Menu Item”)
menu.append(check)

# Aqui creo el item 4 pero sera de tipo radio
radio = gtk.RadioMenuItem(None, “Radio Menu Item”)
menu.append(radio)

# Aqui creo el item 5 pero sera una imagen
image = gtk.ImageMenuItem(gtk.STOCK_QUIT)
image.connect(“activate”, quit)
menu.append(image)

# hago visibles los elementos del menu
menu_item.show()
menu_item2.show();
check.show();
radio.show();
image.show();

# Asocio el menu al indicador
ind.set_menu(menu)

# Ejecuto el codigo principal
gtk.main()

Califica este Artículo
0 / 5 (0 votos)

Categoría: Programaci贸n.




Deja un comentario