Graphical user interface
lastmod 2026-08-13created 2015-10-2836 edits
A graphical user interface (GUI) is a computer interface designed for users in which graphical elements on a pictorial screen, such as objects, frames, and colors, are used to represent particular functions and purposes while using a computer. To control an element in a graphical user interface, you must directly manipulate the graphic corresponding to that element. Typically, elements are decorated with graphics that metaphorically or representatively depict their function in a 2D or 3D virtual space, and they are operated by selecting, moving, and copying them. For example, selecting a graphical element shaped like an X performs a delete or cancel function, and moving an icon representing a file from one location to a space representing another location on the hard disk copies it. In earlier command-line interfaces, this was inconvenient, because you had to run a command such as copy by entering the file's current name and location followed by the destination.
Categories
- Design system
- Color picker
- DOM Event Architecture - Reference architecture for DOM event propagation, usable when implementing UI event propagation.
- Liquid Glass
- RubberBand (rubber band) - An auxiliary guide line for drawing lines.
Libraries
- Guichan
- GWEN: https://github.com/garrynewman/GWEN
- ImGui
-
OtterUI - Turbo Badger: https://github.com/fruxo/turbobadger
- nana
- wxWidgets
- uno (C#)
- Avalonia (C#, XAML)
- Windows Forms (C#)
- qt
- Electron
- Flutter (Dart)
- React Native
- AWT/Swing (GUI libraries built into the Java runtime)
- JavaFX (Java)
- SWT - (Java, Eclipse)
- SwingX (Java)
- Cocoa (macOS)
- Windows API
- MFC
- ImGUI - Bloat-free Graphical User interface for C++ with minimal dependencies
- Skia
- Allegro
- pystray - A python library for displaying system tray icons.
- Tauri - A framework for building tiny, fast binaries for all major desktop (macOS, Linux, Windows) and mobile (iOS, Android) platforms
- Zenity - Zenity is a free software, cross-platform program that lets you run GTK dialog boxes from the command line and shell scripts.
- Valdi - A cross-platform UI framework with native performance
- Expo - Expo is a full-stack React Native framework with powerful cloud services to help you move faster at every stage of the app lifecycle.
UI Placeholder
- UI Fillers - Placeholders for design
- ImgSrc.Space - Easy-to-use image/video placeholders
- SQIP - SVG-based image placeholders
- BlurHash - A generator for blurred image placeholders
- Lorem Faces - AI-generated faces for avatars
- ThumbHash - Even lighter thumbnail images
Table of Graphical Widgets
| Command input | Adjustment handle, Button, Context menu, Drop-down list, Hamburger button, Menu, Pie menu |
| Data input-output | Checkbox, Color picker, Combo box, Cycle button, Date picker, Grid view, Toggle switch, List box, List builder, Radio button, Scrollbar, Search box, Slider, Spinner, Text box |
| Informational | Balloon help, Head-up display in computing, HUD in video games, Icon, Infobar, Label, Loading screen, Progress indicator (Progress bar, Splash screen, Throbber), Sidebar, Status bar, Toast, Tooltip |
| Containers | Accordion, Tree view, Client-side decoration, Disclosure widget, Frame/Fieldset, Menu bar, Panel, Popover, Ribbon, Tab, Toolbar, Window (Window decoration), Workspace |
| Navigational | Address bar, Bookmarks bar, Breadcrumb navigation, Hyperlink, Navigation bar, Virtual desktop |
| Special windows | Alert dialog box, Dialog box, File dialog, Inspector window, Modal window, Palette window |
| Related concepts | File viewer, List of graphical user interface elements, Layout manager, Look and feel, Mouseover, Scrolling, Widget toolkit, WIMP, Zoomable user interface |
See also
- User Interface
- Widget toolkit
- TUI
- Python:RenderingEngines
- Game Engine
- OpenGenerativeUI - An open-source, AI-based generative UI framework
Favorite site
- Wikipedia (en) article on GUI
- Reddit - Anyone know a flexible GUI library for games in C++? (self.gamedev)
- Modern iOS Navigation Patterns · Frank Rausch
- Structural Navigation : Drill-Down, Flat, Pyramid, Hub-and-Spoke
- Overlay Navigation : High-Friction Modal, Low-Friction Modal, Non-Modal
- Embedded Navigation : State Change, Step-by-Step, Content-Driven
- Lets you browse how GUIs have changed through screenshots of each version of various operating systems developed since the 1970s
- Xerox, Visi On, GEM, Deskmate, GEOS, Desqview/X, AmigaOS, RISC OS, BeOS, QNX, OS/2, Apple(Lisa, Apple II, NeXTSTEP), Linux/Unix, Windows, Win Shells