Tuesday, August 25, 2009

Hola Mundo

Es momento de crear el famoso “Hola Mundo”, considerando que ya se leyó los Primeros Pasos, después de crear el proyecto llamado HelloWorld debe aparecer una ventana como la de la imagen.



Creando la interfaz.

Se necesita abrir Interface Builder para esto dar doble click en MainMenu.xib, apareceran las 4 ventanas default. Posicionado sobre la ventana Library entrar en cocoa - views & cells - Inputs & values, ahi se encuentran 2 de los widgets a usar Label y Text Field. Para colocar los widgets basta con arrastrarlos a la ventana de la aplicación.




El tercer widget se encuentra en cocoa - views & cells - buttons y se usara el de Push Button, para cambiar la etiqueta por default que aparece en los widgets dando doble click sobre el mismo permite editarla. Ahora ya se tiene la apariencia definida de la aplicación como la de la imagen.



Ya para terminar con la interfaz solo falta definir el tamaño mínimo y máximo de la ventana de la aplicación, para esto abrir la ventana de Inspector(menu - tools - inspector) y dando click en el icono de regla se mostrara el área para definir las propiedades de la ventana de la aplicación.



Conectando Widgets

Para hacer la conexión entre widgets es necesario agregar un objeto (NSObject) ubicado en cocoa - objects & controllers - controllers sobre la ventana Library y arrastrarlo a la ventana del documento MainMenu.xib (English).



Ahora teniendo seleccionado el objeto (NSObject) en la ventana del documento, sobre la ventana de Inspector en la parte de Object Identify (es el penúltimo botón con una i dentro de un circulo) se deben ingresar algunos valores como: el nombre de la clase a identificar cuyo nombre sera HWController, las acciones (actions) en este caso es “view:” de tipo id, para los Outlet se define message de tipo NSTextField y por ultimo el identificador del objeto sera HWController, obteniendo algo como la imagen.



Aun sobre la ventana de Inspector pero ahora posicionado sobre Controllers Connections se muestran los Outlets y Actions creadas, ya solo es cuestión de ligarlas con su respectivo widget, entonces para ligar “view:” con el botón de saludar se debe dar click en el circulo que aparece del lado derecho y arrastrarlo hasta el botón, hacer algo similar para el TextField pero usando el Outlet.

Con eso estarán conectados los widgets y la interfaz terminada.



Generando HWController.py

Para esto primero se salva la interfaz y después ir a Menu - File - Write Class Files, se abrira un cuadro de dialogo para salvar el archivo que se va a generar y seleccionar python como lenguaje.



Ya que se genero el archivo python preguntara si debe ser agregado al proyecto.



Obteniendo algo como:



Dando funcionalidad a HWController.py

Como se uso un objeto tipo NSObject para conectar los widgets, es necesario indicarle a la class HWController que debe heredar de NSObject y en la actions “view:” escribir el codigo, obteniendo como resultado:

from Foundation import *
from AppKit import *
import objc

class HWController(NSObject):
message = objc.IBOutlet()

@objc.IBAction
def view_(self, sender):
print self.message.stringValue()


Para que funcione HWController.py y sea parte del proyecto, es necesario agregar la linea import HWController en el archivo main.py antes de import HelloWorldAppDelegate.

Ejecutando la aplicación

La funcion de la aplicacion es mostrar el mensaje escrito en el TextField al presionar el boton saludar, el mensaje aparece en la consola (Menu - Run - Console)

Via - Tutorial sobre aplicaciones nativas en OS X

Blog comments powered by Disqus