Trong giao diện người dùng bằng đồ hoạ (GUI), thành tố điều khiển đồ họa (tiếng Anhː graphical widget, viết gọn là widget, còn được gọi là control) là một thành phần dùng để tương tác, chẳng hạn như một nút bấm hay thanh cuộn. Thành tố điều khiển là các thành phần phần mềm mà một người dùng máy tính tương tác với nó thông qua sự thao tác trực tiếp.để đọc và sửa thông tin về một ứng dụng. Các thư viện giao diện đồ hoạ chẳng hạn như Windows Presentation Foundation, GTK và Cocoa đều chứa tập hợp các thành tố điều khiển và logic (luận lý) đẻ kết xuất chúng.[1]
Có người cho rằng chữ Anh ngữ widget, có thể là một tổ hợp ghép của hai chữ "window" (cửa sổ) và chữ "gadget" (thành phần). Nhưng điều này không chắc đúng. Chữ "widget" được biết sớm nhất là một hài kịch Beggar on Horseback (1924), của George S. Kaufman và Marc Connelly. Người hùng của câu truyện giữ vai trò một nhà soạn nhạc phải lựa chọn giữa hai con đường hoặc là tạo ra dòng nhạc để phấn khích tâm hồn anh ta (nhưng không nhận thù lao) hay nhận tiền để sống mà phải chấp nhận một cộng việc giết chết tâm hồn trong một xưởng chế tạo các "widget". Bản văn của tác phẩm nhấn mạnh điệp khúc bộc lộ ý nghĩa của chữ "widget" một cách rõ ràng là món hàng buôn bán đơn thuần không có tính nghệ thuật và giá trị tinh thần.
Ở Anh, chữ "widget" còn có thêm một nghĩa khác không thấy ở Hoa Kỳ. Một "widget" (trong ý nghĩa này) là một thiết bị nhỏ gắn kết vào các thùng bia trong suốt thời gian chúng được sản xuất (chi có trong một số hiệu bia). Những thiết bị này cho phép bia được bảo dưỡng trong nhiệt độ thấp và nó nằm trong chu kì dài mà không cần có sự làm lạnh.
Có loại nhiều loại thành tố điều khiển chẳng hạn như:
Các thành tố điều khiển thực ra phải hiểu với đặc tính ảo nghĩa là chúng phân biệt với các bộ phận vật lý thông thường khác. Thí dụ: các nút điều khiển ảo chỉ có thể được nhấn bởi chuột, bàn phím hay bằng ngón tay trên màn hình cảm ứng (touch screen). Hình ảnh các thành phần điều khiển chỉ để so sánh như các nút bấm ở thế giới thực bên ngoài
Một số thành tố điều khiển có thể không thấy được trên giao diện đồ họa nhưng vẩn có tương tác với người dùng qua một hay vài chức năng xác định nào đó. Thí dụ với các phím nóng (hot key control) người ta không thể thấy hình dạng của các thành tố điều khiển này nhưng nó được cài đặt để giúp người dùng máy sử dụng bàn phím (thay vì phải nhấp các nút của chuột). Một thí dụ khác về ô điều khiển không thấy được là đồng hồ hẹn giờ (timer) rất thông dụng trong Visual Basic. Các đồng hồ hẹn giờ này có thể được cài đặt trong chương trình để tự động làm các thao tác theo đúng một khoảng thời gian mà người lập trình muốn.
Tùy theo hệ điều hành và chuẩn GUI mà các thành tố điều khiển và đặc điểm chức năng của chúng có thể khác nhau. Ngoài ra, các ngôn ngữ lập trình hỗ trợ cho việc tạo ra các chương trình có giao diện đồ họa cũng có thể cung cấp thêm các thành tố điều khiển riêng biệt. Trong hệ thống X Window thì các thành tố điều khiển thường được hỗ trợ chung trong một tập họp qua các bộ công cụ lập trình. Trong khi đó, các ngôn ngữ lập trình cho Windows thường cung cấp thêm các ô điều khiển bên cạnh những ô điều khiển sẵn có của hệ điều hành.