views:

578

answers:

3

I'm looking for a GUI toolkit/framework to create applications that run on Mac Snow Leopard and preferably other systems(Windows, Linux).

Deal breakers:

  • X11 based
  • Non-native widgets
  • 32 bit/Carbon
  • Bad Mac look and feel

As far as I know Tkinter runs X11 and wxWidgets and PyQT do not run 64 bit.

Is there anything usable for good looking Mac applications?

[edit] http://wiki.python.org/moin/GuiProgramming Lists a lot of unusable stuff, but has a few interesting ones. Lucid... rings a bell, but the site has nothing about Python whatsoever. PyGUI, looks like a cool one-man project, just like uxpython.

It seems QT, WX and TK are really the big ones... All of them might have 64 bit or Cocoa ports in a few years, but a the moment none of them seems to run out of the box.

[edit]
So far there is no perfect solution.

  • Tkinter works, but is un-cool for me
  • PyObjC works, but is not cross-platform
  • PyQT and wxWidgets might work someday...

I'm not yet sure which to use, but I accepted PyQT for now.

+1  A: 

Maybe PyQt works on Snow Leopard 64 bits. Look at this link and try it.

Pedro Ghilardi
Might be, but I can't expect users to enter command line arguments or even compile things form source. I need something that just works on Mac.
Pepijn
@Pepijn why should users compile anything?
David Alfonso
They should not, but PyQT and QT versions that support Cocoa are development versions.
Pepijn
+2  A: 

Your list doesn't specifically rule out CocoaPython/PyObjC, which would be completely native on Mac OS X. It wouldn't run on anything else, though,

calmh
That would look cool, but PyObjC is not very Pythonic and that would rule out any cross platform app.
Pepijn
+1  A: 

The Apple-supplied Tk, Aqua Tk, on OS X has not been X11-based since at least OS X 10.4. Apple ships a 64-bit version of Aqua Tk in OS X 10.6 and the Tkinter in the Apple-supplied Python 2.6 is linked with it. There have been some reported problems using IDLE and other test applications with it, though. Your mileage may vary.

Ned Deily
Can you confirm that TK uses native widgets? Or do they only look native?
Pepijn
I'm not sure what you mean by "native widgets". You can see for yourself by running Python's IDLE or some of the Tk demos. Aqua Tk does not give you direct access to Interface Builder and the full-range of OS X user interface elements. If that is important to you, your best bet from Python is using PyObjC.
Ned Deily