[Pythonmac-SIG] Fwd: Can any cross platform gui framework limitations be filled with ctypes / pyobjc or other?

Chris Barker - NOAA Federal chris.barker at noaa.gov
Tue Jul 9 18:12:37 CEST 2013


oops, sent only to Paul the first time....

---------- Forwarded message ----------
From: Chris Barker - NOAA Federal <chris.barker at noaa.gov>

Paul,

> Qt looks great from my first impressions but one thing I'm not too sure
> about is how native it can go, I know the controls are native and will use
> carbon/cocoa underneath on mac for example.

Personally I've used wxPython for years -- it would be a good option
as well (and does use Cocoa under the hood in recent versions, so
injecting some custom Ma-only code in there is quite doable.

A lot of folks like QT a lot, it may be a good way to go -- honestly,
I've stuck with wx mostly due to inertia -- never really considering
alternatives.

However, there is a key design difference -- wx wraps the native
widgets, and QT, for the most part, re-implements them with low-level
primitives. So while a QT Window is probably a Cocoa Window, the
individual buttons, etc are not native. I don't know to what extent
you can override this, but I do know that most of the QT apps I've
seen on the Mac are not very native: not even using the native file
open dialogs and the like. I'd be shocked if you couldn't do better
with some care, but QT does not appear to do a very good job of native
out of the box.

wxPython requires a bit of care to look and feel truly native as well,
but it gets closer by default.

IIUC, PySide is essentially an alternative to PyQT with a different
(more liberal) licence. It is certainly under active development. For
example, Enthought, Inc is relying on it for a lot of their stuff, and
has hired Robin Dunn (ironically the wxPython founder/developer) to
work on it. There was a sprint at last weeks' SciPy conference as
well.

If you do want to cal native code, PYObjC is likely the easiest way,
but if that doesn't look right to you, Cython may be worth a shot --
it's a good way to call C and C++ APIs.

HTH,
  -Chris

--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov


-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov


More information about the Pythonmac-SIG mailing list