LuaDirectory > LuaAddons > LibrariesAndBindings > GraphicalUserInterfaceToolkits
Here is a list of GUI toolkits with Lua bindings. GUI Toolkits[1] provide graphical widgets or controls.
Multi-toolkit (native controls) bindings
[wxLua] (5.1, 5.2, 5.3, 5.4) - [wxWidgets] bindings for Lua 5.1, 5.2, 5.3, and 5.4. wxLua project provides its own IDE with a GUI debugger, a binding generator and a "wx" module for wxWidgets. The IDE is written in wxLua. wxWidgets provides native look-and-feel on Windows, Unix and Macintosh platforms wrapping the underlying toolkit (respectively win32 API, GTK+ 2.0 or Motif or X11, and Carbon API). Well-maintained.
[IUP][2] (5.0, 5.1) - GUI toolkit for Windows, GTK and Motif with Lua 5 bindings. IUP uses native controls in Windows, just like wxWidgets. The Lua binding has a very close Lua like API.
[VCLua] (5.1) - Lua Visual Controls, small native toolkit library for Windows and Linux/GTK2.
[Crank Storyboard Suite] (5.1) - Create and deploy user interfaces to a wide variety of operating systems (QNX, WinCE, Windows, Linux, Mac, ...) and rendering technologies (gdi, sdl, opengl, openvg, agtdk, direcfb, fbdev, ...) using standard graphic elements and Lua scripting to manage the glue logic. Also provides direct from Photoshop screen import capabilities and an integrated simulator and Lua debugger.
[Crazy Eddy's GUI system] - is an established cross-platform ( LNX, MSW, OSX ) with LuaScriptModule?[3] and call from Lua Support [4]
[raylib] - Lua bindings for raylib, a simple and easy-to-use library to enjoy videogames programming.
Toolkit-specific bindings
GTK
[GTK-server] (5.0/5.1) - GTK binding using the GTK-server. Can use GTK1.x, GTK2.x, GTK3.x or XForms. Wrapper to make the interface more friendly is [here] - needs gtk-server 2.1.5.
[LuaGnome] (previously called lua-gtk) (5.1) - A fairly complete binding to Gnome libraries, including GTK2.
[lgob] (5.1) - Bindings for [GObject based] libraries, such as GTK+ 3 and many others (cairo, gdk, gstreamer, pango, webkit, ...).
[LuaMotif] (5.1/5.2) - Marc Balmer's Motif binding for Lua. See also [5].
Qt (LGPL with version 4.5)
[lua_qt] (5.1) - Qt bindings for Lua 5. Still on early stages (missing some objects, building process not fully tested), but quite usable.
[lqt] (5.1) - Qt4 bindings for Lua 5. Quite complete.
[qtlua library] (5.0/5.1) - Make Qt4 applications scriptable with Lua. Comes with detailed documentation, examples and test suite.
FLTK
[LuaFltk] (5.1) - FLTK 1.3 binding with printing support.
[murgaLua] (5.1) - Lua in nice standalone executables, bundled with FLTK bindings.
[fltk4lua] (5.1/5.2/5.3) - manual FLTK 1.3 binding for normal Lua interpreters.
Tk toolkit: [ltcltk] (5.1) [deprecated] - ltk is a simple pure-Lua binding to the Tk toolkit that uses ltcl to access the Tk functionality through a Tcl interpreter.
JUCE: [luce] (5.1/5.2/5.3) - lightweight, embeddable GUI toolkit based on JUCE.
Toolkits
[tekUI] (5.1/5.2/5.3) - lightweight, modular, extensible graphical user interface toolkit; not a binding, but written in Lua itself. Available for X11, DirectFB, Windows, Linux framebuffer, raw memory. Customizable using cascading style sheets. Option for an inbuilt VNC server.
[lwtk] (5.1-5.4) - Lua Widget Toolkit - a foundation for building cross platform GUI widgets in pure Lua on top of [lpugl] or [LÖVE 2D].
TUI (UI for terminals without graphic capability)
Termfx [LuaRocks and https://tset.de/termfx/index.html] (5.1/5.2/5/3) - TermFX is a module that a program written in lua can use to create text based user interfaces. At its core it uses termbox, but provides a more lua like API, and some additional stuff like offscreen buffers and xterm color management. Alternative to curses and much easier to learn and use; note though that relies on termbox library which is included in the installation but no longer maintained--may need to build instead with an updated fork from termbox on GitHub?.
See Also
LibrariesAndBindings - lists other graphics libraries for OpenGL/3D, direct media access, images, plots/graphs, etc.