GUI Programming in Python
来源:互联网 发布:广州数控车床编程软件 编辑:程序博客网 时间:2024/04/30 12:06
GUI Programming in Python
Python has a huge number of GUI frameworks (or toolkits) available for it, from Tkinter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies.
GUI Programming in Python is a similar page whose content could arguably complement this page with some editing.
Cross-Browser Frameworks
Package
Target
Notes
PyJamas
All major Web Browsers
Comprehensive Widget toolkit, Python-to-Javascript compiler and AJAX library. Provides the "V" in MVC. See alsoPyjamasDesktop
Cross-Platform Frameworks
The major cross-platform technologies upon which Python frameworks are based include Gtk, Qt, Tk and wxWidgets, although many other technologies provide actively maintained Python bindings.
Package
Target
Notes
AnyGui
many
("Anygui is no longer being actively developed or supported.") single source code runs on many GUI back-ends, including many in this table, plus ncurses
AVC
Linux / many
Fully automatic, live connection among graphical interface widgets and application variables.
Dabo
WxPython
Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit
EasyGui
Tk
EasyGUI is a module for very simple, very easy GUI programming in Python.
FXPy
FOX
Last released 2002; presumed dead.
GnomePython
Gnome
Gnome Platform bindings: bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomevfs, gnomeui
GnomePythonDesktop
Gnome
Gnome Desktop bindings: metacity, nautilus, gnomeprint, gtksourceview, gtop, media-profiles, totem, wnck
GnomePythonExtras
Gnome
Additional Gnome bindings: libegg, gda, gtkmozembed, gtkspell, gksu, gdl, gtkhtml2
GWiz
Tix
GUI engine with integrated GUI builder. Need Alpha testers.
IronPython
.NET/Mono
Python for (originally MS') .NET platform. See http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython for more info.
Jython
Java
Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform.Jython website
Kivy
Windows, MacOSX, Linux, Android, iOS
OpenGL ES accelerated framework for creating new user interfaces. Kivy have a native multitouch support for every platform, mouse simulator, widgets multitouch ready, integrated virtual keyboard, rst renderer...
libavg
Windows, MacOS, Linux
Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis.
Lucid
Windows, GTK, MacOS
An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "Claro Framework."
Nufox
XUL (many)
Nufox is a python, XUL toolkit written ontop of the Twisted Networking Framework and Nevow. The idea is that you should be able to write server-side cross platform XUL applications without writing XUL markup, with little javascript, all from the comfort of Python.
Ocean
many
GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning.Ocean website
OcempGUI
Pygame
A small GUI toolkit written in Python based on Pygame. Provides accessibility support.
PyFltk
FLTK
supports Windows/Unix/Mac
PyGtk
Gtk
Bindings for pango, atk, gtk and libglade
pygir-ctypes
GObject Introspection
Pure Python GObject Introspection Repository (GIR) wrapper using ctypes. Supported CPython >= 2.6, CPython 3.x,PyPy >= 1.4.0, and on all platforms where gobject introspection is supported.
PyGtk2Tk
Tkinter
PyGtk to Tkinter Wrapper runsPyGtk based code unchanged using Tkinter (Tk).
PyGUI
Cocoa / Gtk / Win32
Abstract, pythonic API encapsulating different platforms. Runs on GNU/Linux, MacOSX, & MS Windows.
PyjamasDesktop
Many
Comprehensive Widget toolkit that uses PyWebkitGtk to do the heavy lifting. Provides the "V" in MVC. See also Pyjamas
PyKDE
Qt / KDE
Python wrappers for the KDE libraries
PyMT
OpenGL, all platform
Python framework for doing multitouch GUI / Application (Deprecated, in favor of Kivy)
PyPicoGUI
PicoGUI
python library is included in the main PicoGUI release
PyQt
Qt
Python bindings for the Qt application development framework
PySide
Qt
The PySide project provides LGPL-licensed Python bindings for theQt cross-platform application and UI framework.
PySWT
SWT
PySWT is a Python Binding to the IBM Eclipse SWT library, to provide Python with a cross platform native looking GUI, seehttp://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction
PythonCard
WxWidgets
Both a framework and GUI builder. Can include wxPython code inPythonCard apps PythonCard tutorial videos at ShowMeDo
PyWebkitGtk
Web Browsers
PyWebkitGtk is a Python Binding towebkit, including DOM model manipulation, Javascript execution, plugin support (e.g. Flash) and (on the TODO list) SVG Canvas support, for extremely powerful and comprehensive applications development. SeePyjamasDesktop for an easy-to-use API.
PyUi
OpenGL
Specialized GUI Toolkit for generating GUIs for OpenGL programs.
Sugar
OLPC XO with Linux
User interface for collaborative educational software
TkInter
Tk
Python's "standard" GUI library
TkZinc
Tk extension
TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations
VTK
many
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization.
Wax
WxWidgets
A wrapper to WxPython, easier and more "pythonic"
WxPython
WxWidgets
supports Windows/Unix/Mac for now - visit http://www.wxwidgets.org, wxPython tutorial videos at ShowMeDo on writing a graphical application
XGui
XGui
XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32
Platform-specific Frameworks
Package
Target
Notes
BeThon
BeOS
MacPython
MacOS
Supports both OSX and OS9
PyObjC
MacOSX
Supports Cocoa Aqua GUIs on the Mac
PyMUI
MorphOS
MagicUserInterface wrapper for Python. Support for MorphOS 2.x.
IronPython Studio
Windows
A free GUI implementation of IronPython with the same interface as Visual Studio.
venster
Windows
Venster is a highly native Windows GUI toolkit for Python based on the ctypes ffi library. The aim of Venster is to be a very lightweight wrapper around the standard Win32 API, making it easy to write slick windows applications in pure Python.
Win32All
Windows
Also known by the names of its components: PythonWin (for the UI), Win32Com (for COM/ActiveX), Win32 (for some other parts of the API)
GUI Design Tools and IDEs
IDE
Target
Notes
Autoglade
PyGtk
Automagically creates GUI applications from Glade GUI definition, GPL
BlackAdder
PyQt
Commercial, $50-400
BoaConstructor
WxPython
GPL, Alpha, looks rather dead
Eric3 and Eric4
PyQt
GPL
FarPy GUIE
WxPython
Freeware. Open-Source. Support wxRuby & wxPerl aswell.
Gazpacho
PyGtk
GPL
Glade
PyGtk
GPL
GWiz
Tix
GUI engine with integrated GUI builder. Need Alpha testers.
IronPython Studio
Windows Application
A free GUI implementation of IronPython with the same interface as Visual Studio.
Komodo
TkInter
Commercial
PAGE
Tkinter, Tix
GUI editor for Windows and Linux
PyScripter
Windows
An OpenSource IDE developed using Python and Delphi
PythonCard
PythonCard,WxPython
Python License. Alpha.
PythonToolkit (PTK)
Windows/Linux/Mac
An interactive environment for python, suitable for interactive GUI programming with different GUI toolkits (wxPython,TkInter, pyGTK, pyQT4 and PySide)
PythonWorks
TkInter
PythonWorks is no longer being developed. They still support their existing customers, but licenses are no longer available to new customers.
Qt Designer
PyQt
A form design tool, available with both Commercial and GPL editions of Qt. Can be used with Eric3 and Eric4.
WxDesigner
WxPython
Commercial Student EUR 29, Single user EUR 129
WxFormBuilder
WxPython
GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python.
WxGlade
WxPython
MIT License, Alpha.
xrope
Python Tkinter
GUI, class browser, file manager, with code completion. Licensed under the GPL.
Visual Python IDE
Tkinter
Visual Python IDE for Python 2.6 to TKINTER
Visual Python
Tkinter
Visual Python
Links
CameronLaird's personal notes on Python GUIshttp://phaseit.net/claird/comp.lang.python/python_GUI.html includes over 25 links to toolkits and techniques for connecting python with a GUI.
Other places to look are PythonGuis at Thinki, and http://sensei.co.il/python/ui.html .
Opendocs previously had some material on Qt programming with Python for on-line reading, but ownership of the domain appears to have lapsed. An online version of Boudewijn Rempt's book aboutPyQt for Qt 3, GUI Programming with Python: QT Edition, is still available. An up-to-date book coveringPyQt4, Rapid GUI Programming with Python and Qt by Mark Summerfield, is now available in print and as an online "rough cut". More details can be found on thePyQt Wiki.
http://www.awaretek.com/toolkits.html - Choose Your GUI Toolkit: Find Your GUI Toolkit for Python based on your preferences. Quick cgi application which helps you make a choice. See also Python City.
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python - Wikipedia article describing several IDE's and GUI Builders.
Editorial Notes
The above lists should be arranged in ascending alphabetical order - please respect this when adding new frameworks or tools.
Currently, this section is rather incomplete. Don't be too disappointed if you can't find the information you need, but please add any information you can contribute. It might be useful to have information about the GUIs and development tools in a fixed format to make them more easily comparable (see WebProgrammingTemplate and WebProgrammingTemplateHelp). Some categories: directly supported widgets, add-on widgets, layout managers, etc. Maybe it could answer the questions inChoosingGuiToolkits for each toolkit.- GUI Programming in Python
- Python GUI Programming (Tkinter)
- Rapid GUI Programming with Python and Qt
- GUI Programming with Python: QT Edition
- Rapid GUI Programming with Python and Qt(1)
- Rapid GUI programming with Python and Qt ——Introduction
- Interactive Programming in Python Mini Project 1
- An Introduction to Interactive Programming in Python
- Database Programming in Python: Accessing MySQL
- GUI Programming Using Tkinter
- GUI programming with PyGTK
- Scala学习整理[第三十二章 GUI编程]<Programming In Scala>
- An Introduction to Interactive Programming in Python - Week zero
- An Introduction to Interactive Programming in Python - Week one
- An Introduction to Interactive Programming in Python - Week two
- An Introduction to Interactive Programming in Python - Week three
- An Introduction to Interactive Programming in Python(week 6)
- An Introduction to Interactive Programming in Python(week 7)
- 理解内存和文件系统缓存
- 《C++primer》操作符重载之CheckoutRecord相关
- u-boot的Makefile分析
- pku百练 2727 0-1背包
- 《信息化与信息管理实践之道》试读之感
- GUI Programming in Python
- RGB配色表
- 你一辈子都在找
- 网络性能监测-系统监视器
- 用户‘sa’登陆失败失败原因:未与信任 SQL Server 连接相关联。
- tar压缩解压命令
- poj 3225 Help with Intervals(线段树 区间的并 交 减 替换 等)
- goole +1 按钮不显示
- res://ieframe.dll/dnserror.htm问题初探