41) GUI's en Python con Tkinter y PyGTK

Posted by Leek | Posted in , , | Posted on 4:01 p. m.

Que tal a todos, como habran visto en la entrada anterior, he estado dedicando mi poco tiempo libre a el hermoso mundo de la programación, asi que como es de saber, la curiosidad o la necedidad; dependiendo del punto de vista, lleva a algunos usuarios y/o programadores, al estudio de las librerias gráficas, como son GTK y Tkinter.

GTK, es muy usado en la programación con C/C++, y para usarse en Python, el modulo que incluye las funciones de GTK, se llama PyGTK. Mientras que Tkinter, creo que solo es usado para generar interfaces graficas en Python, y aquí les dare unos ejemplos de Tkinter, ya que es la viene por defecto en la instalación de Python.

Existen muchos manuales en la red para explicar el uso de Tkinter, pero el que yo les recomiendo es este.

Para no dar mas rodeos, el siguiente codigo en Python usando Tkinter, muestra una interfaz con el texto Hola Mundo y un botoncito , el cual al presionarlo sale del programa:


import tkinter
from tkinter.constants import *
tk = tkinter.Tk()
frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
frame.pack(fill=BOTH,expand=1)
label = tkinter.Label(frame, text="Hola Mundo")
label.pack(fill=X, expand=1)
button = tkinter.Button(frame, text="Exit",command=tk.destroy)
button.pack(side=BOTTOM)
tk.mainloop()

El codigo fue hecho con la version 3.0.1 de la implementacion original de Python(CPython).

Eso es todo por ahora, no se ustedes pero se ma hace mas facil de comprender el Tkinter que el PyGTK, pero en fin, es la decision de cada programador, hasta pronto.

41) GCC bajo la competencia de GNU: Windows

Posted by Leek | Posted in , , , , , , , | Posted on 1:40 p. m.

Que tal a todos, ultimamente he estado dedicando mi poco tiempo libre al estudio de MinGW, Minimalist GNU for Windows, es la GCC(GNU Compiler Collection) para Windows.

MinGW, es muy usado por desarrolladores de software libre para la plataforma Windows, fue creado en 1998 por Collin Peters, compilado con Cygwin. Es muy util, y es la mejor opcion si quieres un compilador libre para Windows, ya sea de 32 o 64 bits.

Para conseguir un mejor comportamiento del compilador, es recomendable que al instalar MinGW, lo hagas directo en una carpeta directa en el disco local C, es decir, instalarlo en el directorio por defecto que es: C:\MinGW, asi sera mas facil compilar tus programas.

Una vez que hayas instalado MinGW, si quieres compilar el codigo, pero compilarlo desde tu carpeta personal, por ejemplo que tengas un archivo de C++(.cpp) en el escritorio, es necesario que copies el archivo g++.exe que se encuentra en C:\MinGW\bin, a la carpeta en el que se encuentra tu archivo de C++. Despues de eso abres un DOS, o una linea de comandos de Windows, y te colocas en la carpeta donde se encuentren tu archivo de C++ y el g++.exe; despues, tecleas
g++ Nombre_de_tu_archivo.cpp
y esto te compilara tu archivo C++ y los convertira en un archivo ejecutable de Windows(.exe), que por defecto lleva el nombre de a.exe, asi que para correrlo solo haces doble clic sobre el o escribes a.exe en la linea de comandos.

Ahora, si es que has generado un archivo de cabecera de C(.h), o un archivo de cabecera de C++(.hpp), solo es necasario que copies el archivo a la carpeta C:\MinGW\include, y eso bastara para poder utilizar tu archivo de cabecera en un archivo de C++.

MinGW tambien incluye una libreria grafica para crear GUI's; la cual se encuentra en C:\MinGW\include\GL.

Eso es todo por ahora, hasta pronto...

ACTUALIZACIÓN: A la derecha, en los gadgets de este blog, casi hasta abajo, hay enlaces hacia algunos codigos fuente albergados en La Web del Programador, algunos codigos han sido compilados bajo GNU/Linux, y otros bajo Windows, aunque estan diseñados para poder ser compilados sin importar el sistema operativo que uses.

Si deseas utilizar algun IDE que sea compatible con MinGW, tienes muchas alternativas, pero si quieres instalar por separado el MinGW y el IDE, esta por ejemplo el Code::Blocks IDE, el cual ya habia hablado de el en la entrada numero 11, tambien esta Visual-MinGW, aunque este todavia esta en ALFA, tendremos que esperar quizas, algunos años para que llegue a BETA y despues a RC, y despues a la versión final, espero que sea pronto, ya que tiene una exelente interfaz y es muy poderoso, pero no te lo recomiendo por el momento. Ahora, si no quieres Code::Blocks, o quieres esperar a la version final de Visual-MinGW, te recomiendo el editor de textos Vim, el cual es multiplataforma, y es un editor de textos, creado por programadores, para uso de programadores, por lo que es muy util y es muy poderoso.

40) SuperTux, un videojuego de plataformas

Posted by Leek | Posted in , , , | Posted on 2:22 p. m.

Hola a todos, este articulo esta dedicado a quienes gusten pasar horas frente a las maquinitas o al ordenador jugando juegos de plataformas.

SuperTux es una copia de Super Mario, solo que el personaje principal es, como ya supusieron, Tux, la mascota de Linux.

El juego consta de 29 niveles, faciles de superar, nueve enemigos que están en contra de Tux, graficos creados con la libreria gráfica OpenGL, y lo mejor de todo, es que es software libre, por lo que a los que les interese la programación de videojuegos, pueden mirar el código fuente sin ningun problema, o bien, si desean adquirir el código fuente sin los archivos binarios, puedes bajar el código desde aqui.

El juego es multiplataforma, por lo que esta disponible para Linux, para Windows y para MacOS X, puedes descargar el que sea compatible con su sistema operativo desde la pagina oficial de SuperTux, que es: aqui.

El juego es distribuido bajo la Licencia Pública de GNU, o sea, la licencia GPL, el juego es facil de jugar, y la trama, muy fácil de entender; por si quieren observar el juego por unos minutos, aquí les dejo un video de un chavo jugando los primeros tres niveles de SuperTux:


39) Algo de Electrónica: Compuertas Lógicas y Circuitos Integrados

Posted by Leek | Posted in | Posted on 2:24 p. m.

Que tal a todos, bueno, les dije que alguna vez les daría algo de teoría de minirobotica, bueno, todos sabemos que toda maquina "inteligante" tiene un procesador, y este procesador se basa en compuertas lógicas, bueno, hoy les hablaré de algunas compuertas lógicas, la compuerta AND, la compuerta, OR, y la compuerta NOT.

Primero el funcionamiento de las compuertas:

Compuerta AND: La mayoría de las compuertas lógicas tienen por lo general tres "patitas", dos de entradas y una salida, la compuerta AND, se le tiene que aplicar corriente a las dos entradas para que de una salida, por eso se llama AND. Existe una manera de representar las compuertas mediante una tabla que se llama Tabla de La Verdad; la tabla de la verdad de la compuerta AND es esta:

Entrada Entrada Salida
0 1 0
1 0 0
0 0 0
1 1 1

Compuerta OR: Esta compuerta también tiene dos entradas y una salida, solo que esta, para que de la salida, solo es necesario que se aplique corriente a una de las dos entradas; esta es su tabla de la verdad:

Entrada Entrada Salida
0 1 1
1 0 1
0 0 0
1 1 1

Compuerta NOT: Esta compuerta lógica, a diferencia de las otras dos, solo tiene una entrada y una salida; lo que hace esta compuerta, es cambiar la entrada, es decir, si le entra una carga negativa, da una salida positiva, y si da una carga positiva, da una salida negativa; esta es su tabla de la verdad:

Entrada Salida
0 1
1 0

Por lo que ven, solo representamos las entradas y las salidas con en sistema binario, es debido a que la tabla de la verdad esta relacionada con el Álgebra Booleana, creada a mediados del siglo XIX, por el matemático inglés George Boole.

Existen otro tipo de compuertas, las encontraran si se ponen a investigar un poco, pero por el momento, estas tres compuertas son más que suficientes.

Estas compuertas cabe agregar, estan metidas adentro de los circuitos integrados:

Tipo de Compuerta Circuito Integrado
AND 7408
OR 7432
NOT 7404

Bueno, esto es todo, proximamente habrá más.