Este fin de semana estuve buscando información sobre desarrollo con cocoa y python usando como binding pyobjc. Pyobjc se usa como puente entre Python y Objetive-C, de esta manera se pueden usar los modulos de python y a la vez generar un GUI bastante bonito.
Existe información en internet donde comentan como instalar pyobjc usando los macports pero hasta el día de hoy el servidor svn que aloja el proyecto no funciona, dejando obsoleta la opción de los macports. Otra alternativa es descargarlo desde pypi.
python setup.py install
import objc
Cuestiones a considerar.
Puesto que pyobjc crea una liga entre Python y Objetive-C, se debe tener en cuenta que los (:) usados por Objetive-C se sustiyen por (_) en python, ademas de considerar:
Las variables mejor conocidas como Outlets se deben definir como variables de la clase por ejemplo:
mivariable = objc.IBOulet()
Para poder ligar las acciones (Actions) que se establecen en el GUI con las funciones escritas en python de debe anteponer @objc.IBAction.
@objc.IBAction
def pushbutton_(self, sender):
…
Por ultimo, se encuentran los Colons. Los Colons son metodos/funciones traducidos a python. En el caso de Objetive-C se usan:
-(int) show: (int) evento and (int) panel;
Traduciéndolo a código en Python
@objc.IBAction
def show_and_(self, evento, panel):
…
Importante no se debe usar “_” como unión de 2 palabras en el nombre del método para identificar a simple vista la función que desempeña, por ejemplo si dicho método muestra un saludo entonces se podría llamar
@objc.IBAction
def showSalute_(self, evento, panel):
…
Via - Lethain.com, Scottr.org