A набор инструментов виджетов, библиотека виджетов, набор инструментов графического интерфейса пользователя или библиотека UX - это библиотека или набор библиотек, содержащий набор графических элементов управления (называемых виджетами), используемых для создания графического пользовательского интерфейса (GUI) программ.
Большинство наборов инструментов виджетов дополнительно включают в себя собственный механизм рендеринга. Этот движок может быть специфическим для определенной операционной системы или оконной системы или содержать серверные части для взаимодействия с несколькими системами, а также с API рендеринга, такими как OpenGL, OpenVG или EGL. Внешний вид графических элементов управления может быть жестко закодирован или разделен, что позволяет графическим элементам управления быть тематическими / обложками.
Некоторые наборы инструментов могут использоваться из других языков с использованием языковые привязки. Построители графического пользовательского интерфейса, например, Glade Interface Designer упрощает создание графических интерфейсов пользователя WYSIWYG, используя язык разметки пользовательского интерфейса, например, в данном случае GtkBuilder.
GUI программы обычно строятся каскадно, при этом графические элементы управления добавляются непосредственно друг над другом.
Большинство инструментальных средств виджетов используют программирование, управляемое событиями, в качестве модели взаимодействия. Инструментарий обрабатывает пользовательские события, например, когда пользователь нажимает кнопку . Когда событие обнаруживается, оно передается в приложение, где оно обрабатывается. Дизайн этих наборов инструментов подвергался критике за продвижение чрезмерно упрощенной модели событийного действия, побуждающую программистов создавать подверженные ошибкам, трудно расширяемые и чрезмерно сложные код приложения. Конечные автоматы и иерархические конечные автоматы были предложены в качестве моделей высокого уровня для представления интерактивных изменений состояния для реактивных программ.
A window считается графическим элементом управления. В некоторых оконных системах окна добавляются непосредственно к графу сцены (холст) с помощью оконного менеджера и могут быть наложены друг на друга с помощью различных средств. Каждое окно связано с конкретным приложением, которое управляет виджетами, добавленными на его холст, которые могут просматриваться и изменяться соответствующими приложениями.