Un widget è un elemento di un'interfaccia utente grafica (GUI) che visualizza informazioni o fornisce un modo specifico per un utente di interagire con il sistema operativo o un'applicazione.
I widget includono icone, menu a discesa, pulsanti, caselle di selezione, indicatori di avanzamento, segni di spunta on-off, barre di scorrimento, finestre, bordi delle finestre (che consentono di ridimensionare la finestra), pulsanti di attivazione / disattivazione, modulo e molti altri dispositivi per la visualizzazione delle informazioni e per invitare, accettare e rispondere alle azioni dell'utente.
In programmazione, widget di significa anche il piccolo programma che viene scritto per descrivere l'aspetto di un particolare widget, come si comporta e come risponde alle azioni dell'utente. La maggior parte dei sistemi operativi include una serie di widget pronti per essere personalizzati che un programmatore può incorporare in un'applicazione, specificando come deve comportarsi. È possibile creare nuovi widget.
In informatica, il termine è stato apparentemente applicato per la prima volta nei sistemi operativi basati su UNIX e nel sistema X Window. Nella programmazione orientata agli oggetti (OOP), ogni tipo di widget è definito come una classe (o una sottoclasse sotto un'ampia classe di widget generica) ed è sempre associato a una particolare finestra. In AIX Enhanced X-Window Toolkit, un widget è il tipo di dati fondamentale.
La maggior parte se non tutti i linguaggi di sviluppo di applicazioni odierni, come Java e Tool Command Language, sono dotati di una libreria di widget già pronta che un programmatore può incorporare e modificare. Utilizzando Visual Basic di Microsoft, un widget può essere implementato come o parte di un controllo ActiveX.
Il termine widget di è stato tradizionalmente usato per riferirsi a qualsiasi oggetto discreto - di solito di qualche natura meccanica e di dimensioni relativamente piccole - quando non ha un nome, quando non puoi ricordare il nome o quando parli di una classe di alcuni oggetti sconosciuti in generale. Secondo Eric Raymond, compilatore del The New Hacker's Dictionary, "la leggenda vuole che i widget originali fossero contenitori per fruste buggy", ma questo è stato probabilmente scritto ironicamente.