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 widg ...
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, inste ...
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 r ...
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 communication ...
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 services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
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, no ...
. 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).html" ;"title="110. - 6910./ref> is a type o ...
(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 using Carbon, Mac OS X 10.5 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 vir ...
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 (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, categori ...
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 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 b ...
(via wxCrafter plugin) * wxFormBuilder


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'' * 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 ActivePresenter is all-in-one screencasting, video editing, and eLearning authoring software for Microsoft Windows and macOS, which is developed by Vietnamese technology engineers. Features eLearning Authoring Tool An outstanding feature ...
– 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 co ...
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 b ...
– 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), whi ...
– 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 a ...
– a free and open-source file synchronization software * GrandOrgue – virtual pipe organ simulator * Guayadeque Music Player – a music player with database * Hollywood – 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 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 run ...
– 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 fo ...
– 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 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 interface ...
– 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 l ...
– 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 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++ U++, formally known as Ultimate++ - is a C++ RAD framework that aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features. Programs created with it can work on multiple operating systems and hardwa ...
– 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 widg ...
*
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