WxWidgets
   HOME

TheInfoList



OR:

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 widge ...
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 users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
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 In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communicati ...
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 tha ...
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 {{Short pages monitor 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 redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
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, n ...
. 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 wa ...
(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 sy ...
using Carbon,
Mac OS X 10.5 Mac OS X Leopard (version 10.5) is the sixth software versioning, major release of macOS, Apple Inc., Apple's desktop and server operating system for Macintosh computers. Leopard was released on October 26, 2007 as the successor of Mac OS X Tig ...
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 Speci ...
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++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, 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 ...
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 ri ...
(for Java), as well as offering performance and other benefits. The toolkit is also not restricted to GUI development, having an
inter-process communication In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categoriz ...
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 hexag ...
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 ...
(IDE) tools available. Notable tools include: * Code::Blocks (via wxSmith plugin) * CodeLite (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), Unite ...
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 ...
– 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 so ...
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 ...
system * Code::Blocks – C/C++ IDE * CodeLite – 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), while ...
– FTP client *
FreeFileSync FreeFileSync is a free and open-source program used for file synchronization. It is available on Windows, Linux and macOS. The project is backed by donations. Donors get access to a Donation Edition that contains a few additional features such as ...
– a free and open-source file synchronization software *
GrandOrgue GrandOrgue is a free and open-source virtual pipe organ simulator, which utilizes the wxWidgets widget toolkit. It was originally developed as MyOrgan, a free version of Hauptwerk 1, starting in 2006. The original author transferred the copyrig ...
– 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.guay ...
– 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 RapidSVN is a cross-platform Subversion client. It is released under the GNU General Public License. The current version of RapidSVN does not support the SVN "blame" command. Issues on Windows * RapidSVN doesn't come with an SSH client so the us ...
– Subversion client *
RocketCake RocketCake is a proprietary WYSIWYG editor for building websites using responsive web design. The program creates and publishes websites without any programming. Functionality such as video players, galleries, contact forms, and animated slide ...
– 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 r ...
– CVS client


See also

* FLTK – a light, cross platform, non-native widget toolkit *
FOX toolkit The FOX toolkit is an open-source, cross-platform widget toolkit, i.e. a library of basic elements for building a graphical user interface (GUI). FOX stands for Free Objects for X. It features a hard-wired Windows 95-style theme available for ...
– 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 propriet ...
– the GIMP toolkit, a widget toolkit used by
GNOME A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
applications * gtkmm – C++ version of GTK * Juce – 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 w ...
– an application framework used by KDE 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 widge ...
*
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 union ...


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