What is widget? - Definition from WhatIs.com
Part of the Programming glossary:

A widget is an element of a graphical user interface (GUI) that displays information or provides a specific way for a user to interact with the operating system or an application

Widgets include icons, pull-down menus, buttons, selection boxes, progress indicators, on-off checkmarks, scroll bars, windows, window edges (that let you resize the window), toggle buttons, form, and many other devices for displaying information and for inviting, accepting, and responding to user actions.

In programming, widget also means the small program that is written in order to describe what a particular widget looks like, how it behaves and how it responds to user actions. Most operating systems include a set of ready-to-tailor widgets that a programmer can incorporate in an application, specifying how it is to behave. New widgets can be created.

In computing, the term was apparently applied first in UNIX -based operating systems and the X Window System. In object-oriented programming (OOP), each type of widget is defined as a class (or a subclass under a broad generic widget class) and is always associated with a particular window. In the AIX Enhanced X-Window Toolkit, a widget is the fundamental data type.

Most if not all application development languages today, such as Java and Tool Command Language, come with a ready-made library of widgets that a programmer can incorporate and modify. Using Microsoft's Visual Basic, a widget can be implemented as or part of an ActiveX control.

The term widget has traditionally been used to refer to any discrete object -- usually of some mechanical nature and relatively small size -- when it doesn't have a name, when you can't remember the name, or when you're talking about a class of certain unknown objects in general. According to Eric Raymond, compiler of The New Hacker’s Dictionary, "legend has it that the original widgets were holders for buggy whips," but this was possibly written tongue-in-cheek.

This was last updated in December 2015
Contributor(s): David Higgins
Posted by: Margaret Rouse

Related Terms


  • debugging

    - Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem, and then either correcting the problem or determ... (SearchSoftwareQuality.com)

  • Remote Procedure Call (RPC)

    - Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details. (SearchSOA.com)

  • walking skeleton

    - A walking skeleton, in a software development context, is a minimal initial implementation of an application that includes and connects the major components of the system's architecture. (WhatIs.com)


  • Programming

    - Terms related to software programming, including definitions about programming languages and words and phrases about software design, coding, testing and debugging.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question. Find an Answer.Powered by ITKnowledgeExchange.com

Ask An IT Question

Get answers from your peers on your most technical challenges

Ask Question

Tech TalkComment



    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.