Primeros pasos con wxpython y wxglade

30 05 2009

Hola ya estamos de nuevo aqui :)

Quiero hablar un poco sobre wxglade(un RAD que le llaman) que no es mas que una aplicacion que permite diseñar frames y luego te genera el codigo,hay varios programas de este tipo,boa constructor y otros pero me he decido a usar wxglade por su sencillez.

Al principio cuesta un poco hacerlo funcionar pero con el manuel de usuario de la pagina de wxglade se hace bastante facil.
Primero de todo hay que crear un frame ,ala derecha tenemos los diferentes widgets que podemos añadir ,seleccionamos frame y escojemos wxFrame y el nombre que queramos tenga la clase,la otra opcion no se para que sirve y llevo poco con wxpython;nos aparecera una ventana con fondo gris,luego os encontrareis en que añadiendo por ejemplo un boton no puedes moverlo de la posicion por defecto que tiene que es arriba ala izquierda,podemos ponerlo en la posicion que queramos con ir a la ventana de propiedades ,seleccionar la pestaña LAYOUT escojer el tamaño en BORDER y y luego mas abajo en la seccion que se llama border tambien elegir por donde insertaremos el borde que puede ser en los cuatro lados TOP y luego ala izquierda,derecha ,etc….
mas abajo esta la seccion ALIGNMENT donde podemos alinear el widget como queramos centrado ,expandido,etc,con eso tendremos solucionado poner el boton que hemos añadido donde queramos.

Otro problema es que al querer añadir otros widgets me di cuenta que no se podia pero en el manual de usuario lo explica bien
hay que seleccionar SIZER_1 en la ventana tree que vereis encima del frame,boton derecho y add slot con eso creamos un espacio nuevo en el frame para añadir mas widgets.

Para crear el codigo hay varias opciones,se recomienda guardar lo que hemos hecho para no perderlo,minimizaremos el frame y en la ventana tree pulsaremos sobre application y iremos a la ventana propiedades donde podemos elegir entre varias opciones.
Name y class no se muy bien como funcionan pero se pueden dejar tal cual,leugo esta el encoding que es como se codifica el archivo ,yo le dejo por defecto ,no se si con las ñ y todo eso habra que poner utf quiza ni idea ,TOP lo dejamos igual,en el apartado code generation tenemos dos opciones generar el codigo en un unico archivo o en varios,si elegis que sea en varios archivos en el recuadro de outputh de mas abajo teneies que seleccionar un directorio solo ,si es un unico archivo lo que quereis en outputh seleccionaremos el directorio y el nombre del archivo por ejemplo miprograma.py; luego en lenguaje escojemos python, en wxwidgets compatibility yo lo dejo igual supongo que sera segun la version de wxpython instalada,luego hay una casilla por si queremos importar de la vieja manera los modulos que ya no se usa,en outputh path ya lo he comentado
luego se le da a generar codigo y ya lo tendremos listo,pero pasa una cosa vereis que al ejecutar la aplicacion el tamaño del frame es muy pequeño no conserva el que teniamos en el diseño ,para que lo conserve yo lo que hago almenos me funciona en mi caso es antes de generar el codigo irnos ala venta propiedades del frame y activar la casilla size con eso lo tendremos listo.

Otro tema importante es que wxglade no genera un panel automaticamente con lo que habra que crearlo escojiendo un wxdialog,luego desde el codigo se pueden añadir los widgets dentro del panel.

Lo siento si algun informacion no esta del todo clara o es erronea,dejo el link del manual de usuario y la pagina de donde bajar wxglade,espero os sirva ,un saludo

http://wxglade.sourceforge.net/manual/index.html

MANUAL

DESCARGAR WXGLADE





Sobre las cajas negras

4 05 2009

Hola de nuevo esta vez quiero explicar algo quer me a enseñado mi amigo benjamin un informatico ,ingeniero informatico que curso la carrera en oviedo y es sobre las cajas negras,creo que a cualquiera le puede ir bien.
El tema es que una funcion debe actuar como una caja negra o sea tiene siempre que utilizar los parametros definidos en la funcion,para que sea indfependiente del resto del programa en eso se basa el termino caja negra.pongamos un ejemplo:

lista=[1,2,3,4]
def cambia(lalistaquesea):
lalistaquesea[0:1]=3 #Esto seria correcto utilizamos los propios parametros de la funcion y la funcion no sabe nada del resto del programa trabaja individualmente
lista[0:1]=3 #Esto seria incorrecto o sea no podemos usar la lista que esta fuera de la funcion

Bueno espero que alguien le sirva para no cometer esta calse de errores ya que yo los cometia y gracias a mi amigo benjamin ya no los cometo.
La siguiente entrada la dedicare a Py2exe ,como crear el ejecutable y como añadir un icono a la aplicacion y bueno lo que pueda encontrar,un saludo hasta la proxima





ahorcado en python

5 12 2008

Hola de nuevo ,bueno como lo prometido es deuda voya dejar el codigo de mi ahorcado en python,supongo que es mejorable pero el tema es que funciona,dejare tambien una lista de palabras que hay que añadir a un fichero txt y ponerle el nombre que  luego dire,quien quiera mejorarlo que lo mejore y me diga algo o si veis posibles fallos o loq ue sea;ahi va el enlace para bajarlo:

AHORCADO

Un saludo a todos loq ue me lean :)

Decir que el programa funciona en windows para hacerlo funcionar en linux hay que cambiar la codificacion a utf-8 y cambiar cls por clear.





Python grafico II

28 09 2008

Hola de nuevo me olvide en la anterior entrada de python grafico de deciros de donde bajar las librerias de wxpython,las podeis bajar aqui,donde ademas viene explicado loq ue necesitasis si usais windows o linux ,documentacion y algun sample(ejemplo):descargar librerias.

Decir que yo uso ubuntu hardy heron y lo baje creo desde el apt ,no se ya no recuerdo bien ,pero creo que si ,por lo demas me he encontrado con un pequeño problema en linux al trabajar con wxpython y es que si yo creo un archivo .py en /home/”minombre” y lo ejecuto no me aparece la ventana ,por lo que pense que quiza metiendo el archivo en el directorio de la libreria wx funiconaria y efectivamente,funciona por lo que he optado por crear un enlace simbolico(blando) en mi directorio personal al directorio de la libreria wx con lo que puedo ejecutar los programas que hago desde mi home, en mi sistema la ruta de la libreria wx viene a ser /usr/lib/python25/site-packages/wxpython2.8…lo que sea/wx,para encontrar donde lo teneis instalado podeis poner el comando find asi: sudo find / -name “wx” -print.
Sabiendo donde estan las librerias crear un enlace simbolico seria como sigue: ln -s “ruta donde teneis el directorio wx en vuestro sistema” y “ruta del directorio personal o la carpeta que os de la gana”
Un saludo





Python grafico

22 09 2008

Hola de nuevo ,en esta entrada quiero hablar un poco sobre el tema de construir aplicaciones graficas de escritorio para linux y windows,hay varias librerias para hacerlo,en mi caso primero probe anygui ya que habia un buen manual en la red pero al parecer no se les da soporte ya ,no se trabaja sobre ellas,al caso es que parece que una de las mejores opciones es la libreria wxpython(w de windows,x de los escritorios de linux y python), es una libreria multiplaforma que sirve para linux,windows y macintosh de momento. EStuve buscando en la red manuales y informacion y lei que habia poca cosa y que se podia ir aprendiendo mirando el wiki de wxpython,tambien encontre el libro wxpython in action que me baje en pdf y que parece lo mejor para aprender;lo podeis encontrar en el emule y en internet en alguna pagina, mas tarde he comprado el libro que por cierto esta en ingles como el pdf pero bueno poco a poco y sabiendo algo de ingles se va entendiendo algo,os dejo el enlace de la editorial manning donde lo podeis comprar auqnue sale un poco carillo porque viene de USA pero merece la pena tenerlo en la libreria :) ,pido disculpas si algun dato que he dado es insuficiente o erroneo ,no soy experto de hecho no hecho ninguna aplicacion grafica con wxpython todavia ya que estoy estudiando el tema de programacion orientada a objetos en python cosa que os recomiendo aprendais para dominar bien wxpython,bueno pues ya esta dejo el enlace para comprar el libro y el enlace de la wiki de wxpython y ya sabeis en la mula esta el libro

Para comprar el libro Wxpython in Action: libro de wxpython

Enlace a la wiki de wxpython: wxPywiki

En la proxima entrada del blog pegare el codigo de un ahorcado en modo texto que he hecho a ver que os parece………hasta pronto





python

2 07 2008

Hola de nuevo ,esta entrada va dirijida a la gente que empieza a programar principalmente y busca un lenguaje que se aprenda sin tanto esfuerzo como quiza el lenguaje C o otros,bueno para empezar python necesita un interprete de comandos para ejecutar los programas que escribas y acepta directamente que se escriba codigo en el. Para empezar os pongo enlaces a 2 manuales,uno de la http://www.unversidad de chicago y otro del propio creador del lenguaje python,decir que python se pude usar tanto en windows como en linux y se pueden escribir los programas con cualquier editor de httextos y guardarlos con extension py (ej:miprograma.py) ,preferentemente se usa este lenguaje para crear script en linux pero se puede usar segun tengo entendido para casi cualquier cosa (web,bases de datos,etc).

MANUALES PARA EMPEZAR

El de la universidad de chicago lo podeis descargar aqui:
http://manuales.gfc.edu.co/python/thinkCSpy.es.pdf

El del creador de python lo podeis descargar aqui: http://es.tldp.org/Tutoriales/Python/tut.pdf

Para comenzar a programar necesitareis instalar python en windows,lo podeis decargar aqui: http://www.python.org/download/
Tambien os dejo un enlace a la wikipedia de python que tiene abundante informacion: http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Python

De momento esto es todo lo necesario para comenzar,en una proxima entrada hablare sobre el desarrollo de aplicaciones graficas con python,hasta pronto





bienvenida

2 07 2008

Hola bienvenido a mi blog ,a partir de ahora ire añadiendo entradas sobre informatica o cosas que se me ocurran;soy un chico de barcelona y tengo 30 años,bueno sin mas esperas voy a hablar un poco de el lenguaje python ,donde encontrar manuales,que hace falta descargar,y un poco el enfoque de este lenguaje,no soy ningun profesional asi que si quereis aportar algo o correjirme hacerlo,espero vuestros comentarios y poder ayudar a la gente que busca informacion,un saludo

dscf0585