WxWidgets (formerly wxWindows ) is an open source class library for developing graphical user interfaces. It is developed in the programming language C and licensed under a modified LGPL, which also allows for the dissemination of derivative works under own terms. Although wxWidgets is implemented in C , there are connections for a variety of other programming languages. Due to its platform independence allows wxWidgets to compile the GUI - specific code of a program with little or no modification on multiple platforms and run.

WxWidgets is used in a number of known projects, including, for example, the audio editor Audacity, the development environment Code :: Blocks, the peer- to- peer software aMule and media player VLC (before version 0.9).


The programming interface allows for the development of GUI programs for Windows, Unix, Mac, Symbian OS, Palm OS and Windows CE. wxWidgets abstracted platform-dependent functions, such as inter-process communication (IPC), and offers additional features, such as a hash table. Some functions, such as OLE or wxMetafile be implemented for each platform individually in wxWidgets. For better portability wxWidgets waived exceptions (English: exceptions ) and templates. The API includes over 450 classes with more than 5000 functions. Key functionality cover the following areas:

  • Direct graphics output
  • Platform-independent GUI layout ( sizerlayout )
  • GUI resources ( XRC ) be ported via XML
  • Online documentation (such as HTML, CHM )
  • Unicode and message catalogs
  • Platform-independent graphics format: XPM
  • Very powerful wxImage class
  • Machine independent stream class
  • C typical container / data classes
  • MIME Types Manager
  • Multithreading
  • Configuration by file, Windows registry or *. Ini


In 1992, the first edition, which was for XView and MFC appeared.

From 1993 to 1995, Motif and Xt port, wxPython, have been developed and published. From 1998 to 2002 wxGTK port wxMac 2.0 port, wxX11 Port and OS / 2 port was used begun.

2003 wxWidgets Software Foundation founded, which was disbanded after a few months. A year later wxWindows has been renamed to wxWidgets at the request of and payment by Microsoft.

In 2005, the publication of wxWidgets 2.6.0 took place. It replaced the previous "stable" version 2.4.2 from mid-2003. End of 2006, version 2.8.0 has been released, in September 2009, version 2.9.0 was released.

Additional language support for wxWidgets

Use in the embedded space

With wxEmbedded by Robert Roebling a version for Familiar Linux is now available which support the iPAQ series from HP and other handheld PCs.