Starting A Cocoa-Python Application
Getting started is easy. First, install the Developer Tools if you haven't yet. Now launch Xcode and start a new project. Select "Cocoa-Python Application". You'll be presented with the following window.
Before we begin, go ahead and double-click on "MainMenu.xib (English)" and put together your interface. We're going to make a tag editor, so give yourself a window with:
- Text fields for things like: Name, Artist, Album, Track Number, Genre.
- Buttons for two actions: Revert and Save & Close.
- Menu items for: Open, Save, Revert to Saved, Close. Keep the edit menu, window menu, and help.
If you prefer, use mine. It already as all the needed connections made, the code is all that is missing.
Now we will start the controller. Create a new file for the project of the type "Python NSWindowController subclass". Name it something like "controller.py".
To tell the system to actually use our controller code we need to make a quick edit. Our first edit will be to main.py. Add the following where the other import statements are:
import controller
Some PyObjC Basics
We're ready to start building our controller. But first let's go over a few basics.
Outlets. If we want to attach values to variables we need to have outlets. You add these as class variables to the controller and assign them the value returned from the function
IBOutlet:form_field = IBOutlet()Actions. If we want to attach actions to functions we need to inform the system what methods are eligible. This is done by adding the
IBActiondecorator to a method:@IBAction def clickButton_(self, sender):Colons. Objective C loves colons. It uses them to separate return values, method names, and arguments. The method:
- (IBAction)convert:(id)sender;becomes
@IBAction def sender_(self, sender):So we simply change colons to underscores. Easy.
Part 3: Writing A Python Controller >>


I'm very interested in this series. Can't wait for more posts! :)
I'm also waiting for more post about Cocoa-Python ;)
Keep the tutorials coming :P