Widget Toolkit

A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called widgets) used to construct the graphical user interface (GUI) of programs.

Most widget toolkits additionally include their own rendering engine. This engine can be specific to a certain operating system or windowing system or contain back-ends to interface with multiple ones and also with rendering APIs such as OpenGL, OpenVG, or EGL. The look and feel of the graphical control elements can be hard-coded or decoupled, allowing the graphical control elements to be themed/skinned.

Overview

Widget Toolkit 
A window using the Standard Widget Toolkit

Some toolkits may be used from other languages by employing language bindings. Graphical user interface builders such as e.g. Glade Interface Designer facilitate the authoring of GUIs in a WYSIWYG manner employing a user interface markup language such as in this case GtkBuilder.

The GUI of a program is commonly constructed in a cascading manner, with graphical control elements being added directly to on top of one another.

Most widget toolkits use event-driven programming as a model for interaction. The toolkit handles user events, for example when the user clicks on a button. When an event is detected, it is passed on to the application where it is dealt with. The design of those toolkits has been criticized for promoting an oversimplified model of event-action, leading programmers to create error-prone, difficult to extend and excessively complex application code. Finite state machines and hierarchical state machines have been proposed as high-level models to represent the interactive state changes for reactive programs.

Windowing systems

A window is considered to be a graphical control element. In some windowing systems, windows are added directly to the scene graph (canvas) by the window manager, and can be stacked and layered on top of each other through various means. Each window is associated with a particular application which controls the widgets added to its canvas, which can be watched and modified by their associated applications.

See also

References

Tags:

Widget Toolkit OverviewWidget Toolkit Windowing systemsWidget ToolkitGraphical control elementGraphical user interfaceLibrary (computing)

🔥 Trending searches on Wiki English:

HoliAlgebraic notation (chess)Kathie Lee GiffordMadgaon ExpressRicky StanickyBaltimore Harbor TunnelBob DylanSteve JobsAbraham LincolnSuki WaterhouseRobert LewandowskiItalyAlbert EinsteinCM PunkNvidiaCivil War (2024 film)Harvey WeinsteinMary & GeorgeUnited StatesGermany national football teamJennifer LawrenceShohei OhtaniList of countries by GDP (nominal) per capitaRihannaUEFA Champions LeagueBrittany SnowDonte DiVincenzoThe Regime (miniseries)Ilya IvanovMao ZedongNew Zealand2024 Miami OpenRussiaKaya ScodelarioGeorgia national football teamShaitaan (2024 film)Drag Me to HellProsopometamorphopsiaDali (container ship)John Wayne GacyRussian invasion of UkraineTimothée ChalametShakiraSolar eclipseAndraya CarterDan SchneiderThe Bachelor (American season 28)Ariana Grande2026 FIFA World Cup qualification – AFC second roundJake Paul vs. Mike TysonSarah HylandFinal offensive of the Spanish Civil WarIndependence Day (Bangladesh)Debbie ReynoldsMiranda CosgroveRachel McAdamsRyan GoslingHenry CavillRocco Siffredi2024 Indian general election in KarnatakaNutty Putty CaveAlyson HanniganMuhammad AliLyle and Erik MenéndezFrank HerbertJessica Williams (actress)Helldivers 2Golden Gate BridgeXXXX (album)Drake (musician)France national football teamKangana RanautJoseph StalinXXXTentacionPASTEFAll ThatPaula Weinstein🡆 More