wxWidgets (formerly wxWindows) is a
widget toolkit
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 wid ...
and tools library for creating
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
s (GUIs) for
cross-platform
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no
code changes. A wide choice of
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s and other tools to use with wxWidgets facilitates development of sophisticated applications.
wxWidgets supports a comprehensive range of popular
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s and graphical libraries, both
proprietary and
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
, and is widely deployed in prominent organizations (see text).
The project was started under the name wxWindows in 1992 by Julian Smart at the
University of Edinburgh
The University of Edinburgh ( sco, University o Edinburgh, gd, Oilthigh Dhùn Èideann; abbreviated as ''Edin.'' in post-nominals) is a public research university based in Edinburgh, Scotland. Granted a royal charter by King James VI in 15 ...
.
The project was renamed wxWidgets in 2004 in response to a trademark claim by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
UK.
It is
free
Free may refer to:
Concept
* Freedom, having the ability to do something, without having to obey anyone/anything
* Freethought, a position that beliefs should be formed only on the basis of logic, reason, and empiricism
* Emancipate, to procur ...
and
open source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
, distributed under the terms of the
wxWidgets Licence, which satisfies those who wish to produce for
GPL
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general us ...
and
proprietary software
Proprietary software is computer software, software that is deemed within the free and open-source software to be non-free because its creator, publisher, or other rightsholder or rightsholder partner exercises a legal monopoly afforded by modern ...
.
Portability and deployment
wxWidgets covers systems such as
Microsoft Windows,
Mac OS
Two major famlies of Mac operating systems were developed by Apple Inc.
In 1984, Apple debuted the operating system that is now known as the "Classic" Mac OS with its release of the original Macintosh System Software. The system, rebranded " ...
(
Carbon
Carbon () is a chemical element with the symbol C and atomic number 6. It is nonmetallic and tetravalent—its atom making four electrons available to form covalent chemical bonds. It belongs to group 14 of the periodic table. Carbon makes ...
and
Cocoa
Cocoa may refer to:
Chocolate
* Chocolate
* ''Theobroma cacao'', the cocoa tree
* Cocoa bean, seed of ''Theobroma cacao''
* Chocolate liquor, or cocoa liquor, pure, liquid chocolate extracted from the cocoa bean, including both cocoa butter and ...
),
iOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
(
Cocoa Touch
Cocoa Touch is the application development environment for building software programs to run on iOS for the iPhone and iPod Touch, iPadOS for the iPad, watchOS for the Apple Watch, and tvOS for the Apple TV, from Apple Inc.
Cocoa Touch prov ...
),
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
/
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
(
X11
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
,
Motif
Motif may refer to:
General concepts
* Motif (chess composition), an element of a move in the consideration of its purpose
* Motif (folkloristics), a recurring element that creates recognizable patterns in folklore and folk-art traditions
* Moti ...
, and
GTK
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and prop ...
),
OpenVMS
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
,
OS/2
OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 ...
and
AmigaOS
AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions ...
. A version for
embedded system
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' ...
s is under development.
wxWidgets is used across many industry sectors, most notably by
Xerox
Xerox Holdings Corporation (; also known simply as Xerox) is an American corporation that sells print and digital document products and services in more than 160 countries. Xerox is headquartered in Norwalk, Connecticut (having moved from St ...
,
Advanced Micro Devices
Advanced Micro Devices, Inc. (AMD) is an American multinational semiconductor company based in Santa Clara, California, that develops computer processors and related technologies for business and consumer markets. While it initially manufa ...
(AMD),
Lockheed Martin,
NASA
The National Aeronautics and Space Administration (NASA ) is an independent agency of the US federal government responsible for the civil space program, aeronautics research, and space research.
NASA was established in 1958, succeedi ...
and the
Center for Naval Analyses
CNA, formerly known as the CNA Corporation, is a federally-funded nonprofit research and analysis organization based in Arlington County, Virginia. CNA has around 625 employees.
General
CNA operates:
* The Center for Naval Analyses. CNA's Cente ...
. It is also used in the public sector and education by, for example,
Dartmouth Medical School
The Geisel School of Medicine at Dartmouth is the graduate medical school of Dartmouth College in Hanover, New Hampshire. The fourth oldest medical school in the United States, it was founded in 1797 by New England physician Nathan Smith. It is ...
,
National Human Genome Research Institute
The National Human Genome Research Institute (NHGRI) is an institute of the National Institutes of Health, located in Bethesda, Maryland.
NHGRI began as the Office of Human Genome Research in The Office of the Director in 1988. This Office transi ...
,
National Center for Biotechnology Information
The National Center for Biotechnology Information (NCBI) is part of the United States National Library of Medicine (NLM), a branch of the National Institutes of Health (NIH). It is approved and funded by the government of the United States. T ...
, and many others.
wxWidgets is used in many open source projects, and by individual developers.
History
wxWidgets (initially wxWindows) was started in 1992 by Julian Smart at the
University of Edinburgh
The University of Edinburgh ( sco, University o Edinburgh, gd, Oilthigh Dhùn Èideann; abbreviated as ''Edin.'' in post-nominals) is a public research university based in Edinburgh, Scotland. Granted a royal charter by King James VI in 15 ...
.
He attained an honours degree in
Computational science
Computational science, also known as scientific computing or scientific computation (SC), is a field in mathematics that uses advanced computing capabilities to understand and solve complex problems. It is an area of science that spans many disc ...
from the
University of St Andrews
(Aien aristeuein)
, motto_lang = grc
, mottoeng = Ever to ExcelorEver to be the Best
, established =
, type = Public research university
Ancient university
, endowment ...
in 1986, and is still a core developer.
On February 20, 2004, the developers of wxWindows announced that the project was changing its name to ''wxWidgets'', as a result of
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
requesting Julian Smart to respect Microsoft's
United Kingdom
The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom (UK) or Britain, is a country in Europe, off the north-western coast of the European mainland, continental mainland. It comprises England, Scotlan ...
trademark
A trademark (also written trade mark or trade-mark) is a type of intellectual property consisting of a recognizable sign, design, or expression that identifies products or services from a particular source and distinguishes them from oth ...
of the term ''Windows''.
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.
wxWidgets has participated in the
Google Summer of Code
The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
since 2006.
The following table contains the release history of wxWidgets, showing all of its major release versions.
License
wxWidgets is distributed under a custom made ''wxWindows Licence'', similar to the
GNU Lesser General Public License
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL), with an exception stating that derived works in
binary form
Binary form is a musical form in 2 related sections, both of which are usually repeated. Binary is also a structure used to choreograph dance. In music this is usually performed as A-A-B-B.
Binary form was popular during the Baroque period, of ...
may be distributed on the user's own terms.
This
license
A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit).
A license is granted by a party (licensor) to another party (licensee) as an element of an agreeme ...
is a
free software license
A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and software distribution, redistribute that software. These actions are usually prohibited by copyright law, but the rights-holde ...
approved by the FSF, making wxWidgets
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
. It has been approved by the
Open Source Initiative
The Open Source Initiative (OSI) is the steward of the Open Source Definition, the set of rules that define open source software. It is a California public-benefit nonprofit corporation, with 501(c)(3) tax-exempt status.
The organization w ...
(OSI).
Official support
Supported platforms
wxWidgets is supported on the following platforms:
* Windows – (32/64-bits Windows XP up to Windows 10)
* Linux/Unix –
wxGTK, wxX11, wxMotif
* Mac OS – wxMac (
Mac OS X 10.3
Mac OS X Panther (version 10.3) is the fourth major release of macOS, Apple's desktop and server operating system. It followed Mac OS X Jaguar and preceded Mac OS X Tiger. It was released on October 24, 2003.
System requirements
Panther's s ...
using Carbon,
Mac OS X 10.5
Mac OS X Leopard (version 10.5) is the sixth major release of macOS, Apple's desktop and server operating system for Macintosh computers. Leopard was released on October 26, 2007 as the successor of Mac OS X 10.4 Tiger, and is available in tw ...
using Cocoa), (32/64-bits
Mac OS X 10.7
OS X Lion, also known as Mac OS X Lion, (version 10.7) is the eighth major release of macOS, Apple's desktop and server operating system for Mac computers.
A preview of OS X 10.7 Lion was publicly shown at the "Back to the Mac" Apple Special ...
or later)
* OS/2 – wxOS2, , wxWidgets for GTK or Motif can be compiled on OS/2
* Embedded platforms – wxEmbedded
External ports
* Amiga – wxWidgets-AOS: AmigaOS port (Work In Progress)
Supported compilers
wxWidgets is officially confirmed to work properly with the following compilers:
Programming language bindings

The wxWidgets
library
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
is implemented in
C++, with
bindings available for many commonly used
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
s.
wxWidgets is best described as a
native mode
In computing, native software or data-formats are those that were designed to run on a particular operating system. In a more technical sense, native code is code written specifically for a certain processor. In contrast, cross-platform software ...
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
Swing or swinging may refer to:
Apparatus
* Swing (seat), a hanging seat that swings back and forth
* Pendulum, an object that swings
* Russian swing, a swing-like circus apparatus
* Sex swing, a type of harness for sexual intercourse
* Swing rid ...
(for Java), as well as offering performance and other benefits.
The toolkit is also not restricted to GUI development, having an
inter-process communication layer,
socket
Socket may refer to:
Mechanics
* Socket wrench, a type of wrench that uses separate, removable sockets to fit different sizes of nuts and bolts
* Socket head screw, a screw (or bolt) with a cylindrical head containing a socket into which the hexa ...
networking functionality, and more.
RAD tools and IDEs for wxWidgets

There are many
Rapid Application Development
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
(RAD) and
Integrated Development Environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE) tools available. Notable tools include:
*
Code::Blocks (via wxSmith plugin)
*
CodeLite
CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript ( Node.js) programming languages.
History
In August 2006, Eran Ifrah started an autocomplete project named CodeLite. The idea was to create a code completion library ...
(via wxCrafter plugin)
*
wxFormBuilder
wxFormBuilder is an open source GUI designer application for wxWidgets toolkit, which allows creating cross-platform applications. A streamlined, easy to use interface enables faster development and easier maintenance of software. It is written ...
Applications built using wxWidgets

Notable applications that use wxWidgets:
* ''
0 A.D.'' – a
FOSS
Fos or FOSS may refer to:
Companies
* Foss A/S, a Danish analytical instrument company
*Foss Brewery, a former brewery in Oslo, Norway
* Foss Maritime, a tugboat and shipping company
Historic houses
*Foss House (New Brighton, Minnesota), United ...
video game similar to ''
Age of Empires
''Age of Empires'' is a series of historical real-time strategy video games, originally developed by Ensemble Studios and published by Xbox Game Studios. The first game was '' Age of Empires'', released in 1997. Nine total games within the se ...
''
*
Amaya – web authoring tool
*
aMule
aMule is a free peer-to-peer file sharing utility that works with the eDonkey network and the Kad network, offering similar features to eMule and adding others such as GeoIP (country flags). On August 18, 2003 it was forked from the xMule s ...
– peer-to-peer file sharing application
*
ActivePresenter – screen recorder, video editor & e-learning application
*
Audacity – cross-platform sound editor
*
BitTorrent – peer-to-peer file sharing application
*
Berkeley Open Infrastructure for Network Computing
The Berkeley Open Infrastructure for Network Computing (BOINC, pronounced – rhymes with "oink") is an open-source middleware system for volunteer computing (a type of distributed computing). Developed originally to support SETI@home, it beca ...
– an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
middleware
Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue".
Middleware makes it easier for software developers to implement c ...
system
*
Code::Blocks – C/C++ IDE
*
CodeLite
CodeLite is a free and open-source IDE for the C, C++, PHP, and JavaScript ( Node.js) programming languages.
History
In August 2006, Eran Ifrah started an autocomplete project named CodeLite. The idea was to create a code completion library ...
– simple C++ Editor (Collection of free Tools, implemented by plugins)
*
FileZilla
FileZilla is a free and open-source, cross-platform FTP application, consisting of FileZilla Client and FileZilla Server. Clients are available for Windows, Linux, and macOS. Both server and client support FTP and FTPS (FTP over SSL/TLS), wh ...
– FTP client
*
FreeFileSync – a free and open-source file synchronization software
*
GrandOrgue – virtual pipe organ simulator
*
Guayadeque Music Player
Guayadeque was a free and open-source audio player with database written in C++ using the wxWidgets toolkit. Guayadeque uses gstreamer. On September 29, 2023, it was announced on the Guayadeque forums that development had ceased.https://www.g ...
– a music player with database
*
Hollywood
Hollywood usually refers to:
* Hollywood, Los Angeles, a neighborhood in California
* Hollywood, a metonym for the cinema of the United States
Hollywood may also refer to:
Places United States
* Hollywood District (disambiguation)
* Hollywoo ...
– uses wxWidgets in its RapaGUI plugin
*
KiCad
KiCad ( ) is a free software suite for electronic design automation (EDA). It facilitates the design and simulation of electronic hardware. It features an integrated environment for schematic capture, PCB layout, manufacturing file viewing, ...
– a free software suite for electronic design automation (EDA)
*
RapidSVN – Subversion client
*
RocketCake – WYSIWYG responsive website builder
*
TortoiseCVS
TortoiseCVS is a CVS client for Microsoft Windows released under the GNU General Public License. Unlike most CVS tools, it includes itself in Windows' shell by adding entries in the contextual menu of the file explorer, therefore it does not run ...
– CVS client
See also
*
FLTK – a light, cross platform, non-native widget toolkit
*
FOX toolkit – a fast, open source, cross-platform widget toolkit
*
GTK
GTK (formerly GIMP ToolKit and GTK+) is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and prop ...
– the GIMP toolkit, a widget toolkit used by
GNOME applications
*
gtkmm
gtkmm (formerly known as gtk-- or gtk minus minus) is the official C++ interface for the popular GUI library GTK. gtkmm is free software distributed under the GNU Lesser General Public License (LGPL).
gtkmm allows the creation of user interf ...
– C++ version of GTK
*
Juce
JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. JUCE is used in particular for its GUI and plug-ins libraries. It is dual licensed under the GPLv3 and a commercial ...
– an extensive cross-platform widget toolkit
*
IUP – a multi-platform toolkit for building native graphical user interfaces
*
Qt (toolkit)
Qt (pronounced "cute") is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems ...
– an application framework used by
KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
applications
*
Ultimate++ – a C++ cross-platform development framework
*
Widget toolkit
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 wid ...
*
List of widget toolkits
A ''list'' is any set of items in a row. List or lists may also refer to:
People
* List (surname)
Organizations
* List College, an undergraduate division of the Jewish Theological Seminary of America
* SC Germania List, German rugby unio ...
References
Further reading
*
External links
*
{{DEFAULTSORT:Wxwidgets
1992 software
C++ libraries
Cross-platform software
Free computer libraries
Free software programmed in C++
Widget toolkits
X-based libraries