Τα widgets μπορούν να θεωρηθούν ως εξέλιξη των παραθύρων. Γενικά είναι σύνθετες δομές που χρησιμεύουν για την εξυπηρέτηση συγκεκριμένων αναγκών στην επικοινωνία χρήστη - προγράμματος. Έτσι υπάρχουν τα pushbuttons, το πάτημα των οποίων συνεπάγεται εντολή στο πρόγραμμα για την εκτέλεση κάποιας εντολής του χρήστη, τα text widgets που χρησιμεύουν για την εισαγωγή κειμένου στο πρόγραμμα από τον χρήστη και πολλά άλλα widgets για την κάλυψη των υπολοίπων αναγκών. Τα widgets χωρίζονται σε διάφορες κατηγορίες αναλόγως με τον τύπο τους. Οι κατηγορίες αυτές ονομάζονται κλάσεις (classes).
Συνεχίζουμε με τις παρακάτω παραγράφους: