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.

Cross-Browser Frameworks

Package

Target

Latest version

Latest update date

Notes

Abstra Forms

All major Web Browsers

2023年5月11日

Build forms as Python scripts.

Anvil

All major Web Browsers

1.7.0

2022年5月30日

Full-stack web apps using only Python and a free online drag-and-drop GUI builder, with built-in (freemium) hosting for your apps.

Atlas toolkit for Python

All major Web Browsers

0.13.3

2023年09月11日

World's lightest toolkit to quickly and easily add a GUI to your Python programs and bring them online.

JustPy

All major Web Browsers

0.1.5

2020年10月14日

An object oriented high-level Python Web Framework that requires no frontend programming.

Mercury

All major Web Browsers

1.1.3

2022年07月12日

Mercury converts Python code in Jupyter Notebook into web applications. The interactive widgets are added based on YAML header. The end-user can tweak widgets values and execute notebook with new parameters. It allows to hide code, export executed notebook to PDF, schedule notebook, add authentication.

NiceGUI

All major Web Browsers

1.2.15

2023年05月27日

NiceGUI provides a unique combination of gentle learning curve and advanced customization capabilites. Operating as a webserver or Electron-like in a native window, it's also designed for hardware integration like USB cameras and GPIO pins, making it ideal for home automation and robotics.

Trame

All major Web Browsers

3.5.4

2024年03月22日

Trame seamlessly exposes vue.js templates to Python. Many widget libraries are available for complex visualizations and interactive graphical user interfaces. Created applications can be deployed in the cloud, in a native window (Tauri), on HPC or within Jupyter Lab.

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

Latest version

Latest update

Notes

appJar

Windows, macOS, Linux

0.94

2019年05月26日

Simple & intuitive wrapper for Tkinter. In active development, designed for educational purposes, heavily documented & feature rich!

AVC

Linux / many

0.11.0

2016年02月16日

Fully automatic, live connection among graphical interface widgets and application variables.

CEF Python

Windows, macOS, Linux

66.1

2021年02月16日

Python bindings for the CEF Framework. CEF is based on Google Chromium and focuses on facilitating embedded browser use cases in third-party applications. With CEF you can create a light-weight native "shell" application that hosts a user interface developed primarily using Web technologies. Examples of embedding CEF browser control are available for many popular GUI toolkits such as PyQt, PySide, wxPython, PyGTK, PyGObject, Kivy and PyGame/PyOpenGL.

Dabo

WxPython

0.9.16

2016年08月16日

Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit

Dear PyGui

Windows, macOS, Linux, Raspberry Pi 4

1.7.3

2022年10月22日

A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies. At its’ core it is a Python implementation of Dear ImGui. Docs are located at Read The Docs.

Flet

Windows, MacOSX, Linux, Android, iOS

0.21.2

2024年03月18日

An easy to learn Python framework for building realtime web, mobile and desktop apps with a beautiful Flutter UI.

formlayout

Qt

1.2.0

2020年08月10日

A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code

gui2py

WxPython (WxWidgets)

0.9.5

2016年08月17日

Both a framework and visual tools: GUI Designer, Inspector and Property Editor. Supports Python 2.5 to Python 3.2; wxPython 2.8 "stable", 2.9 "classic" and "phoenix" (py3k). Features advanced pythonic MVC controls (ListView, GridView, TreeView) using list- and dict-like objects; masked and date picker controls; common dialogs; fluid layout using sizers & basic HTML; simplified event model (similar to JavaScript). Can include wxPython code in apps. Modern PythonCard "fork" hugely enhanced.

guidata

Qt

2.2.1

2022年06月05日

Based on the Qt library, guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application development tools for Qt (PyQt5, PySide2, PyQt6, PySide6).

guietta

Qt

1.4.0

2022年03月31日

A Qt wrapper that makes it extremely easy to create simple graphical interfaces.

Gooey

wxPython

1.0.8.1

2021年06月12日

Converts most argparse based CLI programs into wxPython GUI programs with a single import and decorator.

guizero

Windows, macOS, Linux (Tkinter based)

1.3.0

2022年01月01日

guizero is a Python 3 library for creating simple GUIs. The aim of guizero is to make the process of creating simple GUIs quick, accessible and understandable for new learners.

IronPython

.NET/Mono

3.4.0-beta1

2022年04月30日

Python for .NET platform. See IronPython for more info.

Jython

Java

2.7.2

2020年03月21日

Jython is an implementation of Python seamlessly integrated with the Java platform. See Jython

Kivy

Windows, MacOSX, Linux, Android, iOS

2.1.0

2022年03月06日

OpenGL ES 2 accelerated framework for creating innovative user interfaces. Kivy have a native multitouch support for every platform, mouse simulator, widgets multitouch ready, integrated virtual keyboard, rst renderer...

popsicle

JUCE (Windows, MacOSX, Linux)

0.9.6

2024年02月21日

Python 3 bindings for the JUCE application framework.

PyFltk

Windows, macOS, Linux, Raspberry Pi OS (Wraps C++ FLTK)

1.3.9

2024年01月07日

Fast and Easy to learn. OOP extensible widgets. Provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 3)

PyForms

Qt & OpenGL


2016年12月20日

A Python framework to develop GUI application, which promotes modular software design and code reusability with minimal effort.

PyGame

PyGame

2.1.2

2021年12月27日

Pygame is a set of Python modules designed for making multimedia applications like games built on top of the SDL library.

Pyglet

Windows, macOS, Linux

1.5.24

2022年06月12日

pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.

PyGObject

GTK

3.42.1

2022年04月17日

PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more. See PyGobject. Replacement for PyGtk.

PyQt

Qt

6.3.1

2022年06月17日

Python 3 bindings for the Qt application framework.

PySciter

Windows, macOS, Linux (via Sciter)

4.4.7.0

2021年04月27日

Python bindings for the Sciter (embeddable HTML/CSS/JavaScript engine).

PySide

Qt

6.3.0

2022年04月13日

Qt for Python (formerly known as PySide) offers the official Python bindings for the Qt cross-platform application and UI framework.

PySimpleGUI

tkinter, Qt, wxPython,Browser, Win, Mac, Linux, Pi, PyDroid3, Trinket, replit

5.0.7

2024年10月20日 (discontinued)

Python GUIs for Humans! PySimpleGUI is the top-rated Python application development environment. Launched in 2018 and actively developed, maintained, and supported in 2024. Transforms tkinter, Qt (pyside2 & pyside6), WxPython, and Remi into a simple, intuitive, and fun experience for both hobbyists and expert users. Extensive 5.0 Documentation - 2025年08月15日: PySimpleGUI was stopped, see: https://www.pysimplegui.com/#notice

pywebview

Cocoa / Win32 / Qt / GTK

3.6.3

2022年04月05日

pywebview is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its own native GUI window.

Toga

Windows, macOS, Linux (GTK), Android, iOS

0.4.8

2024年10月16日

Cross platform, Python native GUI toolkit that uses native system widgets. Part of the BeeWare project.

TkInter

Tk

Included in Python standard library

Python's "standard" GUI library (Documentation)

Traits/TraitsUI

Qt or Wx on Windows, macOS, Linux

7.3.1

2022年03月14日

The Traits/TraitsUI package offers the ability to build scalable and cross-platforms GUIs simply by focusing on the model being viewed, and offering default widgets for various types of objects. It abstracts away the implementation, which can currently use PyQt, Pyside2 or WxPython. In the simplest case, it can automatically generate a user interface for editing a (Traits-based) object, with no additional coding on the part of the programmer-user. In more sophisticated uses, it can implement a Model-View-Controller (MVC) design pattern for Traits-based objects.

VTK

many

9.1.0

2021年11月04日

The Visualization Toolkit (VTK) is open source software for manipulating and displaying scientific data. It comes with state-of-the-art tools for 3D rendering, a suite of widgets for 3D interaction, and extensive 2D plotting capability.

wxPython

wxWidgets

4.1.1

2020年11月21日

Supports Windows/Unix/Mac. See wxPython. Supports Python 2.7 and >=3.4, pip installable. Wraps & extends the wxWidgets toolchain. Permissive Licence.

Platform-specific Frameworks

Package

Target

Latest version

Latest update

Notes

Chaquopy

Android

16.0.0

2024年10月15日

A plugin for Android Studio’s standard Gradle build system. Provides complete APIs for calling Python code from Java/Kotlin and vice versa, and a wide range of third-party Python packages.

PyObjC

MacOSX

6.2.2

2020年07月08日

Supports Cocoa Aqua GUIs on the Mac

pywin32

Windows

304

2022年06月02日

Previously called win32all. 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

Latest version

Latest update date

Notes

Abstra lib

Web

1.4.0

2023年04月14日

GUI App Builder for Python

Anvil GUI Builder

Web

2023年1月30日

Free online drag-and-drop GUI builder for full-stack web apps all in Python, with built-in (freemium) hosting for apps.

The Eric Python IDE

PyQt

7 (22.6)

2022年06月01日

Eric is a full featured Python editor and IDE, written in Python. It is based on the cross platform Qt UI toolkit, integrating the highly flexible Scintilla editor control.

https://github.com/reingart/gui2py

WxPython

0.9.6.1

2016年09月05日

Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3.

Glade

PyGobject

3.38.2

2020年11月20日

Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK toolkit and the GNOME desktop environment.

Komodo IDE

TkInter

12.0.1

2020年02月10日

Komodo IDE is now FREE as part of the ActiveState Platform.

NodeBox

macOS, Win, Linux

3.0.53

2022年02月18日

Cross-platform, node-based GUI for efficient data visualizations and generative design.

PAGE

TkInter, ttk

7.4

2022年05月04日

PAGE is a cross-platform drag-and-drop GUI generator, bearing a resemblance to Visual Basic. It allows one to easily create Python GUI windows containing a selection of Tk and ttk widgets.

pygubu

TkInter

0.21

2022年05月05日

GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade.

PyScripter

Windows

4.0.0

2021年05月21日

MIT Open Source IDE developed using Python and Delphi. See PyScripter. (Python 3)

wxFormBuilder

wxPython

3.10.1

2021年10月22日

GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python.

wxGlade

wxPython

1.0.0

2020年12月20日

MIT License, wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython, that helps you create wxWidgets/wxPython user interfaces. See WxGlade supports Python >= 2.7 (recommended 3.5/3.6) and wxPython >=2.8 (recommended 4.0)

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.


CategoryPyGUI

GuiProgramming (last edited 2025年08月15日 17:10:42 by ThorstenMuell )

Unable to edit the page? See the FrontPage for instructions.

AltStyle によって変換されたページ (->オリジナル) /