EasyGUI is a module for very simple, very easy GUI programming in Python. EasyGUI is different from other GUI
libraries in that EasyGUI is NOT event-driven. Instead, all GUI interactions are invoked by simple function calls.
EasyGUI runs on Python 2 and 3, and does not have any dependencies beyond python and Tk.
EasyGUI alternatives and similar packages
Based on the "GUI" category.
Alternatively, view EasyGUI alternatives based on common mentions on social networks and blogs.
kivy9.5 9.3 L2 EasyGUI VS kivyOpen source UI framework written in Python, running on Windows, Linux, macOS, Android and iOS
PySimpleGUI9.2 9.6 EasyGUI VS PySimpleGUILaunched in 2018. It's 2023 and PySimpleGUI is actively developed & supported. Create complex windows simply. Supports tkinter, Qt, WxPython, Remi (in browser). Create GUI applications trivially with a full set of widgets. Multi-Window applications are also simple. 3.4 to 3.11 supported. 325+ Demo programs & Cookbook for rapid start. Extensive docs
DearPyGui8.9 9.1 EasyGUI VS DearPyGuiDear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Flet8.0 9.3 EasyGUI VS FletFlet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.
Eel8.0 5.4 EasyGUI VS EelA little Python library for making simple Electron-like HTML/JS GUI apps [Moved to: https://github.com/ChrisKnott/Eel]
Toga7.6 9.9 L5 EasyGUI VS TogaA Python native, OS native GUI toolkit.
Flexx7.1 2.1 L3 EasyGUI VS FlexxWrite desktop and web apps in pure Python
urwid6.7 0.0 L2 EasyGUI VS urwidConsole user interface library for Python (official repo)
enaml5.4 7.6 L3 EasyGUI VS enamlDeclarative User Interfaces for Python
PyGObject3.8 0.0 L5 EasyGUI VS PyGObjectTutorial for using GTK+ 3 in Python
wxPython3.8 0.1 L2 EasyGUI VS wxPythonA blending of the wxWidgets C++ class library with the Python.
PySide3.3 0.0 L4 EasyGUI VS PySideATTENTION: This project is deprecated, please refer to PySide2
Python bindings for Sciter3.2 3.9 L4 EasyGUI VS Python bindings for SciterPython bindings for Sciter
Python version of the Atlas toolkitWorld's lightest toolkit to quickly and easily add a GUI to your Python programs and bring them online.
Qt Style Sheet InspectorA inspector to be able to view and edit Qt style sheet while an application is running
signalum-desktop1.0 0.0 EasyGUI VS signalum-desktopA Desktop application for the signalum python library
pyglet0.5 - EasyGUI VS pygletA cross-platform windowing and multimedia library for Python.
cursesBuilt-in wrapper for ncurses used to create terminal GUI applications.
TkinterTkinter is Python's de-facto standard GUI package.
PyQtPython bindings for the Qt cross-platform application and UI framework, with support for both Qt v4 and Qt v5 frameworks.
TestGPT | Generating meaningful tests for busy devs
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of EasyGUI or a related project?
Project in Maintainance
Hi everyone. There hasn't been much activity but thankfully we have a new revision. Thank you contributors and thank you Stephen Ferg for creating EasyGui.
You might also consider the following alternatives:
For those who wish to contribute you are welcome to fork this respository. Or, take a look at the alternatives and contribute there.
Kind Regards, Robert
EasyGUI is a module for very simple, very easy GUI programming in Python. EasyGUI is different from other GUI libraries in that EasyGUI is NOT event-driven. Instead, all GUI interactions are invoked by simple function calls.
EasyGUI runs on Python 2 and 3, and does not have any dependencies beyond python and Tk. Linux Python 2 users will have to run
sudo apt-get install python-tk and Linux Python 3 users will have to run
sudo apt-get install python3-tk to install Tkinter.
>>> import easygui >>> easygui.ynbox('Shall I continue?', 'Title', ('Yes', 'No')) 1 >>> easygui.msgbox('This is a basic message box.', 'Title Goes Here') 'OK' >>> easygui.buttonbox('Click on your favorite flavor.', 'Favorite Flavor', ('Chocolate', 'Vanilla', 'Strawberry')) 'Chocolate'
To see demo programs using EasyGUI, call the
Full documentation is always available.
For the most-recent production version: http://easygui.readthedocs.org/en/master/.
For our develop version which will be released next: http://easygui.readthedocs.org/en/develop.
Update collections.abc import location (old location was deprecated since version 3.3, removed in version 3.10) See: https://docs.python.org/3.9/library/collections.html#module-collections for details Add some unit test coverage and test automation for TravisCI.
Several updates and fixes thanks to Al and others.
This is an exciting time for easygui. We continue to make good progress with refactoring as well as some enhancements and bug fixes here and there.
We would like to welcome Juanjo Denis-Corrales to the team. He is responsible for lots of good new work this release. Of course we appreciate the work of everyone who contributed.
NOTE: I decided in this release to change the API a bit. Please consult the function documentation for details.
- Made changes guessing at fixes to any IDLE problems. Please report any problems found.
- Refactored the easygui.py file into several smaller files to improve our ability to manage the code
- Added callbacks to allow for more dynamic dialogs. See the docs for usage.
- Added class access to dialogs so properties may be changed.
- There were previous issues when using easygui with the IDLE IDE. I hope I resolved these problems, however, I've never actually been able to repeat them. Please report any problems found in github.
- Centralized the Python 2 versus Python 3 "compatibility layer" into boxes/utils.py
This is a minor bug-fix release to address python 3 import errors.
We are happy to release version 0.97.3 of easygui. The intent of this release is to address some basic functionality issues as well as improve easygui in the ways people have asked.
Robert Lugg (me) was searching for a GUI library for my python work. I saw easygui and liked very much its paradigm. Stephen Ferg, the creator and developer of easygui, graciously allowed me to start development back up. With the help of Alexander Zawadzki, Horst Jens, and others I set a goal to release before the end of 2014.
We rely on user feedback so please bring up problems, ideas, or just say how you are using easygui.
- sourceforge #4: easygui docs contain bad references to easygui_pydoc.html
- sourceforge #6: no index.html in docs download file. Updated to sphinx which as autolinking.
- sourceforge #8: unicode issues with file*box. Fixed all that I knew how.
- sourceforge #12: Cannot Exit with 'X'. Now X and escape either return "cancel_button", if set, or None
- Added ability to specify default_choice and cancel_choice for button widgets (See API docs)
- True and False are returned instead of 1 and 0 for several boxes
Allow user to map keyboard keys to buttons by enclosing a hotkey in square braces like: "Pick [M]e", which would assign keyboard key M to that button. Double braces hide that character, and keysyms are allowed:
[[q]]Exit Would show Exit on the button, and the button would be controlled by the q key
Help Would show Help on the button, and the button would be controlled by the F1 function key
NOTE: We are still working on the exact syntax of these key mappings as Enter, space, and arrows are already being used.
- Escape and the windows 'X' button always work in buttonboxes. Those return None in that case.
- sourceforge #9: let fileopenbox open multiple files. Added optional argument 'multiple'
- Location of dialogs on screen is preserved. This isn't perfect yet, but now, at least, the dialogs don't always reset to their default position!
- added some, but not all of the bugs/enhancements developed by Robbie Brook: http://all-you-need-is-tech.blogspot.com/2013/01/improving-easygui-for-python.html
- In the documentation, there were previous references to issues when using the IDLE IDE. I haven't experienced those, but also didn't do anything to fix them, so they may still be there. Please report any problems and we'll try to address them
- I am fairly new to contributing to open source, so I don't understand packaging, pypi, etc. There are likely problems as well as better ways to do things. Again, I appreciate any help or guidance.
Other Changes (that you likely don't care about)
- Restructured loading of image files to try PIL first throw error if file doesn't exist.
- Converted docs to sphinx with just a bit of doctest. Most content was retained from the old site, so there might be some redundancies still. Please make any suggested improvements.
- Set up a GitHub repository for development: https://github.com/robertlugg/easygui
- Improved output/packaging for Debian distribution
EasyGui is licensed under what is generally known as the "modified BSD license" (aka "revised BSD", "new BSD", "3-clause BSD"). This license is GPL-compatible but less restrictive than GPL.
*Note that all licence references and agreements mentioned in the EasyGUI README section above are relevant to that project's source code only.