自由學習的風

幽夢影 張潮 少年讀書,如隙中窺月;中年讀書,如庭中望月;老年讀書,如臺上玩月。皆以閱歷之淺深,為所得之淺深耳。

Stack Overflow 上網友對於 python gui 技術的比較

2012年3月24日 星期六

python - Pygtk VS Pyqt VS WxPython VS Tkinter - Stack Overflow

I can't really say which one is the most used, but here are some feature comparisons:

Tkinter:

  • Built in to Python
  • Not native-looking GUIs by default before Python 2.7
  • Simple, easy to learn
  • In Python 2.7, ttk support was added (themed widgets)
  • Some GUI designers, but they aren't really as functional as those for other toolkits (but the simplicity of Tkinter alleviates this)

PyGTK:

  • Focused on Linux, works on Windows but can be a pain (thanks to detly for pointing this out)
  • Has a GUI designer, Glade
  • More functionality/weight than Tkinter
  • LGPL

PyGObject (GTK3, will replace PyGTK):

 

  • Still focused on Linux
  • Basically the same, but access is done through GObject
  • Relatively new, but will replace PyGTK

     

    New users wising to develop Python applications using GTK are recommended to use the GObject-Introspection features available in PyGObject. Existing authors of PyGtk applications are also recommended to port their applications to PyGObject if they wish to take advantage of new features appearing in GTK-3 and beyond.

-- http://article.gmane.org/gmane.comp.gnome.gtk%2B.python/15449

 

wxPython:

  • Cross-platform
  • Native widgets on each platform
  • More functionality/weight than Tkinter
  • GUI designers like wxGlade and others
  • wxWindows license (similar to LGPL)

PyQt:

  • Cross-platform
  • Native (or at least native-looking) widgets on each platform, styleable with CSS
  • More functionality/weight than Tkinter (probably the most here: JavaScript, QML...)
  • GPL licensed (commercial licenses available)
  • QtDesigner (made by Nokia) and utilities to convert to Python

PySide:

  • Python Qt binding (like PyQT) but LGPL
  • Cross-platform
  • API is almost the same as PyQT, but it only supports the "new-style" PyQT API.

PyQt, wxWidgets, and PyGTK all support OpenGL.

All three have Webkit bindings, though PyQt's/PySide's seem to be the easiest to use (it is integrated, after all).

Tkinter is the simplest, but least feature-complete. wxPython and PyQt are probably the most powerful in terms of what's built in (as far as I know), but PyGTK is also good, especially if you're targeting Linux. New apps using GTK should use GObject rather than the old PyGTK interface.

All are cross-platform. (PySide also supports MeeGo.)

All support Python 3, except for PySide and wxPython, whose support is forthcoming (0,1).

Some links: Developing user interface in Python - TkInter Vs PyQt

link|edit

0 意見:

張貼留言