wxWidgets (раніше відома як wxWindows) — це багатоплатформнабібліотека віджетів. wxWidget дозволяє коду для побудови графічного користувацького інтерфейсу компілюватись і працювати на різних апаратних і програмних платформах з мінімальними змінами, або взагалі без них. Надаються прив'язки (біндінги) для популярних мов програмування, в тому числі для PHP, Python, Perl і Ruby. На відміну від інших тулкітів, wxWidgets забезпечує для програми по-справжньому рідний для цільової системи зовнішній вигляд і методи взаємодії, завдяки використанню системних API, а не імітації GUI.
Тулкіт написаний на мові С++ і розповсюджується під вільною ліцензією wxWindows Library Licence, схваленою Фондом ВПЗ та організацією OSI. Ліцензія заснована на LGPL і відрізняється дозволом використання власних умов для поширення похідних робіт в бінарній формі.
Історія
Робота над проєктом розпочалася у 1992 Юліаном Смартом (Julian Smart) в Університеті міста Единбурґ, який досі залишається головним розробником.
20 лютого2004 року розробники wxWindows повідомили про те, що проєкт змінює назву на wxWidgets через вимогу корпорації Microsoft, яка побачила у старій назві порушення її права на торгову марку Windows[3]. За зміну імені розробники wxWidgets та інших зв'язаних проєктів отримали грошову компенсацію.
Бібліотека розроблена на C++, але може підключатися до безлічі інших розповсюджених мов, таких, як Python (wxPython), Smalltalk (wxSqueak), Perl та Java. Для ознайомлення з повним списком, з посиланнями на відповідні проєкти, дивіться додаткову документацію наприкінці статті.
Бібліотека не імітує вид компонентів, використовуючи графічні примітиви різних підтримуваних платформ. Замість цього wxWidgets надає тонку абстракцію до існуючих компонентів системи. Іншими словами, основний код wxWidgets воліє викликати «рідний» елемент інтерфейсу платформи, замість того, щоб повторно його реалізовувати. Це надає природного вигляду інтерфейс у порівнянні з бібліотеками на кшталт Swing (для Java).
Drawing and Printing in C++ with wxWidgets [Архівовано 13 серпня 2007 у Wayback Machine.] — стаття описує ідею контексту пристрою, роз'яснює концепцію області малювання на зразок вікна або друкованої сторінки. Вона обговорює доступні класи контекстів пристроїв і набір «інструментів малювання», які wxWidgets надає для роботи з шрифтами, кольорами, малюванням примітивів, і зафарбовування областей.