Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
WxWidgets
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Widget toolkit}} {{Primary sources|date=June 2011}} {{lowercase title|title=wxWidgets}} {{Infobox software | name = wxWidgets | logo = wxWidgets.svg | logo size = 128px | screenshot = | caption = | collapsible = yes | author = Julian Smart<ref name=wxabout>{{cite web | url = https://wxwidgets.org/about/ | title = About the wxWidgets Project | publisher = wxwidgets.org | access-date = 2010-01-02}}</ref><ref name=aboutjs>{{cite web | url = http://www.anthemion.co.uk/julian.htm | title = About Julian Smart, www.anthemion.co.uk | publisher = anthemion.co.uk | access-date = 2009-06-08}}</ref><ref>{{cite web | url = http://www.bookfayre.cz/books/name/julian_smart.2247651.html.cs | title = Julian Smart | publisher = bookfayre.cz | access-date = 2009-06-08}}</ref> | developer = Various developers and contributors<ref>{{Cite web|url=https://wxwidgets.org/about/team/|title=The Team - wxWidgets|website=wxwidgets.org}}</ref> | released = {{start date and age|1992}}<ref>{{Cite web|url=https://www.wxwidgets.org/about/history/|title=History - wxWidgets|website=www.wxwidgets.org}}</ref> | discontinued = | latest_stable_version = <!-- Information about the latest stable version is maintained in [[Template:Latest stable software release/wxWidgets]] --> | latest_stable_date = | programming_language = [[C++]] | operating_system = [[Cross-platform]] | platform = | size = | language = | genre = Development [[library (computing)|library]] | license = [[#License|wxWidgets Licence]] | website = {{URL|https://wxwidgets.org}} }} '''wxWidgets''' (formerly '''wxWindows''') is a [[widget toolkit]] and tools library for creating [[graphical user interface]]s (GUIs) for [[cross-platform]] applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with no significant [[source code|code]] changes. A wide choice of [[compiler]]s and other tools to use with wxWidgets facilitates development of sophisticated applications.<ref name="users"/> wxWidgets supports a comprehensive range of popular [[operating system]]s and graphical libraries, both [[Proprietary software|proprietary]] and [[Free software|free]]. The project was started under the name wxWindows in 1992 by Julian Smart at the [[University of Edinburgh]].<ref name=wxabout /> The project was renamed wxWidgets in 2004 in response to a trademark claim by [[Microsoft]] [[United Kingdom|UK]]. It is [[free software|free]] and [[open source software]], distributed under the terms of the [[#License|wxWidgets Licence]], which satisfies those who wish to produce for [[GNU General Public License|GPL]] and [[proprietary software]].<ref name="license"/> ==Portability and deployment== wxWidgets covers systems such as [[Microsoft Windows]], [[Mac OS]] ([[Carbon (API)|Carbon]] and [[Cocoa (API)|Cocoa]]), [[iOS]] ([[Cocoa Touch]]), [[Linux]]/[[Unix]] ([[X11]], [[Motif (software)|Motif]], and [[GTK]]), [[OpenVMS]], [[OS/2]] and [[AmigaOS]]. A version for [[embedded system]]s is under development.<ref name="wxEmbedded">{{Cite web|url=http://www.wxembedded.com/|title=wxEmbedded | embedded cross platform GUI library homepage|website=www.wxembedded.com}}</ref> wxWidgets is used across various industry sectors, most notably by [[Xerox]], [[Advanced Micro Devices]] (AMD), [[Lockheed Martin]], [[NASA]] and the [[Center for Naval Analyses]]. It is also used in the public sector and education by, for example, [[Dartmouth Medical School]], [[National Human Genome Research Institute]], [[National Center for Biotechnology Information]], and many others.<ref name="users">{{cite web|title=About Who uses wxWidgets?|url=https://www.wxwidgets.org/about/whouses.htm|publisher=wxwidgets.org|access-date=2011-04-12}}</ref> wxWidgets is used in many open source projects,<ref>{{cite web|title=List of open source applications that uses wxWidgets|url=http://sourceforge.net/softwaremap/?&fq%5B%5D=trove%3A481|publisher=SourceForge.net|access-date=2011-04-22}}</ref> and by individual developers. ==History== wxWidgets (initially wxWindows; "w" is for [[Windows]], and "x" is for [[X Window System]])<ref>{{Cite web|url=https://www.wxwidgets.org/about/history/|title=History - wxWidgets|website=www.wxwidgets.org|access-date=2023-03-31}}</ref> was started in 1992 by Julian Smart at the [[University of Edinburgh]].<ref name=wxabout /> He attained an honours degree in [[Computational science]] from the [[University of St Andrews]] in 1986, and is still a core developer.<ref name=aboutjs /> On 20 February 2004, the developers of wxWindows announced that the project was changing its name to ''wxWidgets'', as a result of [[Microsoft]] requesting Julian Smart to respect Microsoft's [[United Kingdom]] [[trademark]] of the term ''Windows''.<ref name="wxWindows to wxWidgets">{{cite web |last1=Smart |first1=Julian |last2=Dunn |first2=Robin |date=August 2004 |title=Name change |url=https://wxwidgets.org/about/name.htm |access-date=2007-04-23 |publisher=Sourceforge.net}}</ref> Major release versions were 2.4 on 6 January 2003, 2.6 on 21 April 2005 and 2.8.0 on 14 December 2006. Version 3.0 was released on 11 November 2013.<!-- Earlier versions not listed on SourceForge.net --> wxWidgets has participated in the [[Google Summer of Code]] since 2006.<ref>{{cite web|last=Smart|first=Julian|title=Google Summer of Code 2006: wxWidgets projects summary|url=https://wxwidgets.blogspot.com/2006/10/google-summer-of-code-2006-wxwidgets.html|publisher=wxwidgets.org|access-date=2011-04-11|date=2006-10-10}}</ref><ref>{{cite web|title=Google Summer of Code 2006|url=https://code.google.com/intl/pl/soc/2006/wxwidgets/about.html|access-date=2011-04-11}}</ref><!--________________________________________wxWindows 1________________________________________--> <!--________________________________________wxWidgets 2________________________________________--> <!--________________________________________wxWidgets 3________________________________________--> <!--________________________________________Future versions________________________________________-->==License== {{Infobox software license | name = wxWindows Licence | image = | caption = | author = | version = | copyright = | date = | OSI approved = Yes | Debian approved = Yes | Free Software = Yes | GPL compatible = Yes | copyleft = Yes | copyfree = No | linking = Yes }} wxWidgets is distributed under a custom made ''wxWindows Licence'', similar to the [[GNU Lesser General Public License]] (LGPL), with an exception stating that derived works in [[binary file|binary form]] may be distributed on the user's own terms.<ref name="license">{{cite web | url = https://www.wxwidgets.org/about/licence/ |title = "License" page on website | quote = The wxWindows Licence is essentially the LGPL, with an exception stating that derived works in binary form may be distributed on the user's own terms. }}</ref> This [[software license|license]] is a [[free software license]] approved by the FSF,<ref>{{Cite web|url=https://www.gnu.org/licenses/license-list.html#Wx|title=Various Licenses and Comments about Them β GNU Project - Free Software Foundation}}</ref> making wxWidgets [[free software]]. It has been approved by the [[Open Source Initiative]] (OSI).<ref>{{cite web|title=Open Source Initiative OSI β The wxWindows Library Licence:Licensing|url=http://www.opensource.org/licenses/wxwindows.php|publisher=Open Source Initiative|access-date=2011-04-28}}</ref> ==Official support== ===Supported platforms=== wxWidgets is supported on the following platforms:<ref>{{Cite web|title = wxWidgets: Introduction|url = https://docs.wxwidgets.org/trunk/page_introduction.html|website = docs.wxwidgets.org|access-date = 2016-01-14}}</ref><ref>{{Cite web|title = wxWidgets: Platform Details|url = https://docs.wxwidgets.org/trunk/page_port.html|website = docs.wxwidgets.org|access-date = 2016-01-14}}</ref> * '''Windows''' β {{Not a typo|wxMSW}} (64-bits Windows XP up to Windows 11 and 32-bits Windows 3.11 for Workgroups (with Win32s extension) up to Windows 11) * '''Linux/Unix''' β [[wxGTK]], wxX11, wxMotif * '''Mac OS''' β wxMac ([[Mac OS X 10.3]] using Carbon, [[Mac OS X 10.5]] using Cocoa), {{Not a typo|wxOSX/Cocoa}} (32/64-bits [[Mac OS X 10.7]] or later) * '''OS/2''' β wxOS2, {{Not a typo|wxPM}}, wxWidgets for GTK or Motif can be compiled on OS/2 * '''Embedded platforms''' β wxEmbedded<ref name="wxEmbedded"/> ====External ports==== * '''Amiga''' β wxWidgets-AOS: AmigaOS port (Work In Progress)<ref>{{cite web|title=wxWidgets-AOS: AmigaOS port|url=https://sourceforge.net/projects/wxwidget-aos/|access-date=2011-04-24}}</ref> ===Supported compilers=== wxWidgets is officially confirmed to work properly with the following compilers:<ref>{{cite web|title=Supported Platforms|url=https://wiki.wxwidgets.org/Supported_Platforms|publisher=wxwidgets.org|access-date=2011-04-24}}</ref><ref>{{Cite web|url=https://wiki.wxwidgets.org/Development:_Supported_Classes|title=Development: Supported Classes - WxWiki|website=wiki.wxwidgets.org}}</ref> {| class="wikitable" style="font-size: 85%; width: auto;" |- ! Toolkit ! Compiler ! Version |- ! rowspan=8 scope="row" | wxMSW | Microsoft Visual Studio β Visual C++ | 5.0+ |- | [[Borland C++]] (dropped in 3.1.5) | 5.5+ |- | C++Builder | 2006+ |- | Watcom C++, OpenWatcom | 10.6+ |- | CodeWarrior | 7+ |- | Cygwin | 1.5+ |- | MinGW | 2.0+ |- | Digital Mars C/C++ compiler | 8.40+ |- ! rowspan=6 scope="row" | wxGTK | g++ | 2.95+ |- | Clang++ | 3.3+ |- | Intel C++ Compiler | 9.1+ |- | Sun Studio C/C++ | 5.9 |- | HP aC++ | 3.8 |- | IBM XL C/C++ | 8.0 |} == Programming language bindings == {{Main list|List of language bindings for wxWidgets}} [[File:WxPython-logo.png|thumb|right|150px|[[wxPython]] logo]] The wxWidgets [[Library (computing)|library]] is implemented in [[C++]], with [[Language binding|bindings]] available for many commonly used [[programming language]]s.<ref>{{cite web |title = wxWidgets General Information |url = https://wiki.wxwidgets.org/General_Information |website = wxwidgets.org |access-date = 2015-08-01 }}</ref> wxWidgets is best described as a [[native mode]] toolkit as it provides a thin abstraction to a platform's native widgets, contrary to emulating the display of widgets using graphic primitives. Calling a native widget on the target platform results in a more native looking interface than toolkits such as [[Swing (Java)|Swing]] (for Java), as well as offering performance and other benefits.<ref>{{cite web |url = https://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits |title = WxWidgets Compared To Other Toolkits |website = wxwidgets.org |access-date = 2010-01-02 }}</ref> The toolkit is also not restricted to GUI development, having an [[inter-process communication]] layer, [[internet socket|socket]] networking functionality, and more. ==RAD tools and IDEs for wxWidgets== [[File:Codelite2.0-Screenshot.png|thumb|right|215px|[[CodeLite]] under Windows XP]] [[File:Cbmain.png|thumb|right|215px|[[Code::Blocks]] running under [[Ubuntu (operating system)|Ubuntu]]]] There are many [[Rapid Application Development]] (RAD) and [[Integrated Development Environment]] (IDE) tools available. Notable tools include:<ref>{{cite web|title=Tools for wxWidgets|url=https://wiki.wxwidgets.org/Tools|publisher=wxwidgets.org|access-date=2011-04-12}}</ref><ref>{{cite web|title=List of Integrated Development Environments|url=https://wiki.wxwidgets.org/List_of_Integrated_Development_Environments|publisher=wxwidgets.org|access-date=2011-04-12}}</ref> * [[Code::Blocks]] (via wxSmith plugin) * [[CodeLite]] (via wxCrafter plugin) * [[wxFormBuilder]] ==Applications built using wxWidgets== [[File:Amaya inuse.png|thumb|right|215px|[[Amaya (web editor)|Amaya]] under Windows 7]] {{See also|Category:Software that uses wxWidgets}} Notable applications that use wxWidgets: * ''[[0 A.D. (video game)|0 A.D.]]'' β a [[Free and open-source software|FOSS]] video game similar to ''[[Age of Empires (series)|Age of Empires]]'' * [[Amaya (web editor)|Amaya]] β web authoring tool * [[aMule]] β peer-to-peer file sharing application * [[ActivePresenter]] β screen recorder, video editor & e-learning application * [[Audacity (audio editor)|Audacity]] β cross-platform sound editor * [[BitTorrent (software)|BitTorrent]] β peer-to-peer file sharing application *[[Berkeley Open Infrastructure for Network Computing]] β an [[Open-source model|open-source]] [[Middleware (distributed applications)|middleware]] system * [[Code::Blocks]] β C/C++ IDE * [[CodeLite]] β simple C++ Editor (Collection of free Tools, implemented by plugins) * [[FileZilla]] β FTP client * [[FreeFileSync]] β a free and open-source file synchronization software * [[GrandOrgue]] β virtual pipe organ simulator * [[Guayadeque Music Player]] β a music player with database * [[Hollywood (programming language)|Hollywood]] β uses wxWidgets in its RapaGUI plugin * [[KiCad]] β a free software suite for electronic design automation (EDA) * [[RapidSVN]] β Subversion client * [[TortoiseCVS]] β CVS client ==See also== {{Portal|Free and open-source software}} * [[FLTK]] β a light, cross platform, non-native widget toolkit * [[FOX toolkit]] β a fast, open source, cross-platform widget toolkit * [[GTK]] β the GIMP toolkit, a widget toolkit used by [[GNOME]] applications * [[gtkmm]] β C++ version of GTK * [[Juce]] β an extensive cross-platform widget toolkit * [[IUP (software)|IUP]] β a multi-platform toolkit for building native graphical user interfaces * [[Qt (toolkit)]] β an application framework used by [[KDE]] applications * [[Ultimate++|U++]] β a C++ cross-platform development framework * [[Widget toolkit]] * [[List of widget toolkits]] == References == {{Reflist}} ==Further reading== *{{Citation | last1 = Smart | first1 = Julian | last2 = Hock | first2 = Kevin | last3 = Csomor | first3 = Stefan | title = Cross-Platform GUI Programming with wxWidgets | isbn = 978-0-13-147381-2 | url = http://www.pearsoned.co.uk/bookshop/detail.asp?item=100000000072372 | date = 5 August 2005 | publisher = [[Prentice Hall]]}} ==External links== {{Commons category|WxWidgets|lcfirst=yes}} * {{Official website}} {{wxWidgets}} {{Widget toolkits}} {{GUI builders}} {{DEFAULTSORT:Wxwidgets}} [[Category:WxWidgets| ]] [[Category:1992 software]] [[Category:C++ libraries]] [[Category:Cross-platform software]] [[Category:Free computer libraries]] [[Category:Free software programmed in C++]] [[Category:Widget toolkits]] [[Category:X-based libraries]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:GUI builders
(
edit
)
Template:Infobox software
(
edit
)
Template:Infobox software license
(
edit
)
Template:Lowercase title
(
edit
)
Template:Main list
(
edit
)
Template:Not a typo
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Primary sources
(
edit
)
Template:Reflist
(
edit
)
Template:See also
(
edit
)
Template:Short description
(
edit
)
Template:Widget toolkits
(
edit
)
Template:WxWidgets
(
edit
)