Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application.
User interface libraries such as Windows Presentation Foundation, Qt, GTK, and Cocoa, contain a collection of controls and the logic to render these.
They automatically generate all the source code for a widget from general descriptions provided by the developer, usually through direct manipulation.
Around 1920, widget entered American English, as a generic term for any useful device, particularly a product manufactured for sale; a gadget.
We offer the observation to the skeptical, however, that the principal realization of a widget is its associated X window and the common initial letter is not un-useful.
The defining characteristic of a widget is to provide a single interaction point for the direct manipulation of a given kind of data.
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.