viernes, 14 de febrero de 2014

Python: Uso de PyZenity

¿Qué es PyZenity?
Es una librería creada por Brian Ramos que nos permite hacer uso de cuadros de diálogo Zenity.

¿Cómo puedo usar PyZenity?

  1. Descargar la última versión http://brianramos.com/software/PyZenity/PyZenity-0.1.7.tar.gz
  2. Desempaquetar
  3. Ir a la carpeta PyZenity
  4. Desde terminal teclear (como root): python setup.py install
  5. Entra al repl de Python tecleando: python 


Tendremos instalado PyZenity.


1. Una calculadora básica (solo funciona en sistemas Linux)

from PyZenity import InfoMessage
from PyZenity import Question
from PyZenity import ErrorMessage
from PyZenity import GetText
import os

x1, x2,res=0.0, 0.0, 0.0

def main():
os.system('clear')

menu='\t[ Menu ]\n1. Suma\n2. Resta\n3. Producto\n4. Division\n5. Salir'
opcion=GetText(text=menu, entry_text='', password=False)


if opcion == "1":
  cad="Suma"
elif opcion == "2":
cad="Resta"
elif opcion == "3":
cad="Producto"
elif opcion == "4":
cad="Division"
elif opcion == "5":
cad="Salir"
else:
cad="opcion invalida"


if cad == "opcion invalida":
ErrorMessage('Error, '+cad)
else:
InfoMessage('Introduciste: '+cad)

if cad=="Suma":
x1=float(GetText(text='Introduce un numero', entry_text='',password=False))
x2=float(GetText(text='Introduce otro numero', entry_text='',password=False))
res=x1+x2
InfoMessage('La suma obtenida es: '+str(res))
elif cad=="Resta":
x1=float(GetText(text='Introduce un numero', entry_text='',password=False))
x2=float(GetText(text='Introduce otro numero', entry_text='',password=False))
res=x1-x2
InfoMessage('La resta obtenida es: '+str(res))
elif cad=="Producto":
x1=float(GetText(text='Introduce un numero', entry_text='',password=False))
x2=float(GetText(text='Introduce otro numero', entry_text='',password=False))
res=x1*x2
InfoMessage('El producto obtenido es: '+str(res))
elif cad=="Division":
x1=float(GetText(text='Introduce un numero', entry_text='',password=False))
x2=float(GetText(text='Introduce otro numero', entry_text='',password=False))
res=x1/x2
InfoMessage('La division obtenida es: '+str(res))
else:
ErrorMessage('Error, '+cad)



if __name__ == '__main__':
main()










2. Crear una tabla
from PyZenity import InfoMessage
from PyZenity import List
from PyZenity import ErrorMessage
from PyZenity import GetText
import os
import sys
 
 
so,comando='',''
continuar=''
 
def lista():
return List(["Escoge","Autor","Lenguaje"], title="Selecciona un lenguaje", boolstyle="radiolist", editable=False, select_col="ALL", sep='|', data=[["","Guido","Python"],["","Gosling","Java"]])
    
def activa(c):
os.system(c)
#print lista()
res=lista()
print "Elegiste: "
print "Autor: ",res[0],", lenguaje: ",res[1]
 
continuar=GetText(text='Deseas continuar? [Si-> S,s , No-> N,n] ', entry_text='', password=False)
 
if continuar == "S" or continuar == "s":
main()
elif continuar == "N" or continuar == "n":
exit()
else:
exit()
 
 
 
def main():
so=sys.platform
if so=="linux2" or so=="darwin":
comando='clear'
else:
comando='cls'
 
activa(comando)
 
 
if __name__ == '__main__':
main()








Links
http://brianramos.com/?page_id=38
http://es.wikipedia.org/wiki/Zenity

No hay comentarios:

Publicar un comentario