Кіріспе
Бағдарлама графикалық пайдаланушы интерфейсін көрсету үшін қолданатын фреймворк немесе құрал жиынтығы. Виджет құрал жиынтығы, виджет кітапханасы, GUI құрал жиынтығы немесе UX кітапханасы – бағдарламаның графикалық пайдаланушы интерфейсін (GUI) құрастыру үшін қолданылатын графикалық басқару элементтерінің (виджеттер деп аталады) жиынтығын қамтитын кітапхана немесе кітапханалар жиынтығы. Көптеген виджет құрал жиынтықтары өздерінің рендеринг қозғалтқышын да қамтиды. Бұл қозғалтқыш белгілі бір операциялық жүйеге немесе терезелік жүйеге арналған болуы мүмкін, сондай-ақ бірнеше жүйемен және OpenGL, OpenVG немесе EGL сияқты рендеринг API-ларымен байланысу үшін артқы интерфейстерді қамтуы мүмкін. Графикалық басқару элементтерінің сыртқы түрі мен сезімі тікелей кодталуы немесе бөлектелуі мүмкін, бұл оларға тақырыптық безендіру немесе теріні өзгертуге мүмкіндік береді.
A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called widgets) used to construct the graphical user interface (GUI) of programs. Most widget toolkits additionally include their own rendering engine. This engine can be specific to a certain operating system or windowing system or contain back ends to interface with multiple ones and also with rendering APIs such as OpenGL, OpenVG, or EGL. The look and feel of the graphical control elements can be hard coded or decoupled, allowing the graphical control elements to be themed/skinned.
Шолу
Кейбір құрал жиынтықтары тілдік байланыстарды қолдану арқылы басқа тілдерден де пайдаланылуы мүмкін. Glade Interface Designer сияқты графикалық пайдаланушы интерфейсін құрастырушылар GUI-ді WYSIWYG форматында жасауды жеңілдетеді, бұл жағдайда GtkBuilder сияқты пайдаланушы интерфейсінің таңбалау тілін қолданады. Бағдарламаның графикалық интерфейсі көбінесе каскадтық тәсілмен құрастырылады, графикалық басқару элементтері бірін-бірің үстіне тікелей орналастырылады. Көптеген виджеттер жиынтықтары өзара әрекеттесу моделі ретінде оқиғаға негізделген бағдарламалауды қолданады. Құрал жиынтығы пайдаланушы оқиғаларын өңдейді, мысалы, пайдаланушы батырманы басып алғанда. Оқиға анықталған кезде, ол қосымшаға жіберіледі, онда ол қарастырылады. Осындай құрал жиынтықтарының дизайны оқиға-әрекет моделін тым қарапайымдап көрсеткені үшін сынға ұшырады, бұл бағдарламашыларды қателерге бейім, кеңейтуге қиын және артық күрделі қосымша кодтарын жасауға итермеледі. Шекті күй машиналары және иерархиялық күй машиналары реактивті бағдарламалардың интерактивті күй өзгерістерін бейнелеу үшін жоғары деңгейлі модельдер ретінде ұсынылған.
Терезелер жүйесі
Терезе – графикалық басқару элементі саналады. Кейбір терезелік жүйелерде терезелер терезе менеджері арқылы тікелей сахналық графке (кенепке) қосылады және әртүрлі тәсілдермен бірін-бірінің үстіне орналастырылуы мүмкін. Әрбір терезе нақты бір қолданбамен байланысты, ол кенепке қосылған виджеттерді басқарады, ал оларды байланысты қолданбалар бақылап, өзгерте алады.