wxWidgets: Cross-Platform GUI Library
Skip to content
wxWidgets is a C++ library that lets developers create applications for
Windows, macOS, Linux and other platforms with a single code base. It
has popular language bindings for
Python
Ruby
Lua
Rust
Dart
Perl
and
several other languages, and unlike other cross-platform toolkits,
wxWidgets gives applications a truly native look and feel because it
uses the platform's native API rather than emulating the GUI. It's also
extensive, free, open-source and mature.
Learn more »
Download now »
Learn more »
or
Download now »
Latest News
wxDart 0.9.2 released
Posted on
April 06, 2026
Version 0.9.2 of
wxDart
has been released.
Dart
is a programming language developed by Google. It
uses static typing and can be compiled to an executable binary or to
JavaScript or WebAssembly to run in a web browser.
wxDart consists of two separate libraries which offer the same API and can be used independently.
wxDart Flutter uses the
Flutter
library as its backend and is written in pure Dart.
wxDart Native provides Dart bindings to the wxWidgets C++ GUI library.
wxDart Flutter has been written from the ground up and does not depend on any
C++ or C code. It uses the wxWidgets API, adding many desktop features to
Flutter. Apps compiled with wxDart Flutter run almost anywhere (including
Android and iOS), but it mainly targets the web.
Like wxWidgets itself, wxDart Native mainly targets the classical desktop
environments and offers native look and feel.
Check out the
Fireworks demo
written with wxDart Flutter, compiled to WebAssembly, and see how it uses
wxWidgets API in its
source code
wxDart and its documentation are hosted on pub.dev
here
Comments
wxWidgets 3.2.10 and 3.3.2 Released
Posted on
March 03, 2026
Today not one but two new wxWidgets releases were made available: 3.2.10, the
latest maintenance release in the stable 3.2 series, and 3.3.2, the third
release in the 3.3 series containing all the latest developments with almost
1000 changes from 61 contributors since the previous 3.3.1 release.
Both releases can be downloaded from GitHub, please follow these links to
download archives with the library sources and documentation as well as
binaries for the selected Windows compilers such as
Microsoft Visual
C++
and
MinGW-w64
: for
3.2.10 release
and
for
3.3.2 one
. Online documentation has also been updated and
can be accessed at
3.2.10 documentation home
and
3.3.2
respectively.
If you are new to wxWidgets, you may find the
installation guide
good starting point. If you are upgrading to 3.3.2 from a previous version,
please make sure to check the
change log
and, especially, the
INCOMPATIBLE CHANGES
section there.
Changes since previous releases
3.2.10 is a minor bug fix release but does contain a number of important fixes
for macOS:
Fix install names of the libraries when using “make install” (
#25675
).
Fix crash on some key presses in
wxDataViewCtrl
#26160
).
Fix memory leaks in a number of controls (
#26208
).
Fix regression in
wxFileDialog
filters in 3.2.9 (
#26148
).
Many fixes for macOS 26 Tahoe (
#25743
#25766
#25767
#26058
#26095
).
It also contains the following changes:
Fix regression in
wxStaticBitmap::SetBitmap()
in wxMSW 3.2.9 (
#26106
).
Fix right/middle click events in vertical
wxAuiToolBar
#26242
).
Don’t use first image for
wxListCtrl
items without images in wxMSW (
#26062
).
Handle font names longer than 31 characters in wxMSW (
#25333
).
3.3.2 release contains all the fixes from 3.2.10 above as well as those from
the previous
3.2.9 release
, but also a number of new
developments and many more bug fixes that couldn’t be done in the stable ABI
branch:
Accessibility support improvements: fix it for
wxCheckBox
in dark mode (
#26184
),
add it for
wxCheckListBox
#25948
),
wxStyledTextCtrl
#25956
) and minimal
support for
wxRichTextCtrl
#26202
).
Add support for minimizing panes in wxAUI (
#23986
) and improve splitting
behaviour in
wxAuiNotebook
#26081
).
Add
wxStyledTextCtrlMiniMap
#25887
).
Allow using GLX and EGL in the same program in wxGTK (
#26023
).
Add support for using LunaSVG for SVG rendering (
#25902
).
Include projects and solution files for MSVS 2026 (
#26131
).
Add support for scrolling, implement
wxListCtrl
wxNotebook
in wxiOS
#25827
#25857
#25858
).
Implement printing support and
wxArtProvider
in wxQt (
#26126
#26210
).
Generate suspend/resume events in wxOSX (
#25778
).
Make automatic scrolling in
wxScrolled<>
configurable (
#25978
).
Improve number and currency formatting (
#25765
).
Significant improvements in
wxSVGFileDC
#25723
).
Allow configuring timeouts in
wxWebRequest
#25673
) and add new
wxWebRequestDebugLogger
class (
#26086
).
All bundled third party libraries were updated to latest versions (
#26010
).
Fix using
wxSOCKET_NOWAIT_READ
and
wxSOCKET_WAITALL_WRITE
together (
#17114
).
Fix crash on mouse hover after closing tab in
wxAuiNotebook
#25959
).
More dark mode fixes in wxMSW: fix or improve rendering of several controls
#25835
), toolbar (
#25892
) and menus (
#26182
).
More high DPI fixes as well: for
wxToolBar
#26038
),
wxAuiToolBar
#26076
),
wxPGMultiButton
#26069
),
wxTreeCtrl
state images (
#26059
), generic
wxCalendarCtrl
#25713
) and bitmap position in
wxDC::DrawLabel()
#25888
).
Many RTL layout fixes in wxMSW, wxGTK and wxQt (
#25426
#25822
).
Fix multiple bugs in gesture handling in wxGTK (
#26241
).
Please see the
change log
for a fuller list of the other
improvements and the
previous release announcement
for the
description of changes in wxWidgets 3.3 compared to the previous stable 3.2 branch.
Note that in spite of all these changes, wxWidgets 3.3.2 is almost fully
compatible with wxWidgets 3.2 and updating the existing applications to use it
shouldn’t require much effort.
Feedback
Please let us know about your experience with this release via any of the
following channels:
Mailing lists
Discussion forums
#wxwidgets IRC Channel
Stack Overflow
or by commenting under this post.
Thanks to all contributors to this release and we hope that you will enjoy
working with it!
Comments
wxWidgets Book Examples Now Available on GitHub
Posted on
March 05, 2025
A comprehensive collection of wxWidgets example applications is now available to the community. These applications were originally developed as supplementary material for the Polish book
Cross-Platform Programming with C++ and wxWidgets 3
and are now publicly accessible on GitHub in the dedicated
repository
All example applications are released under the wxWidgets License.
Repository Contents
The repository contains more than 25 example applications, showcasing various wxWidgets functionalities. These include, among others:
User interface components and custom controls
File handling, logging, and system operations
Networking (HTTP, FTP, and Socket communication)
Multithreading
OpenGL and 3D graphics
Developing a custom code editor with wxScintilla
Additionally, some projects demonstrate more advanced features, making them useful for both beginners and experienced developers looking to integrate wxWidgets into their applications.
All the examples were tested on:
Windows 11 (Visual Studio 2022, wxWidgets 3.3.x)
Linux Mint 22 (wxWidgets 3.2.6)
Each project includes configuration files for Visual Studio, Code::Blocks, and Makefile, ensuring compatibility across different development environments.
All examples have been fully translated into English to support a global audience of developers.
All projects have been re-tested, updated, and adapted to the latest versions of wxWidgets and C++20, ensuring modern compatibility and performance.
The repository also includes the
upgrade_wxwidgets.py
script, which facilitates both upgrading and adapting projects to any version of the wxWidgets library.
This resource provides an excellent starting point for developers interested in exploring wxWidgets through working examples. Users are encouraged to review the code and adapt it to their own projects.
Comments
wxRuby3 1.0.0 released
Posted on
May 18, 2024
It’s time! wxRuby3 has reached its 1.0.0 stable release.
This release targets the
wxWidgets 3.2.5 release
by default, which contains (among many others) quite some fixes which
came from the development of wxRuby3, and can be installed from
RubyGems
or
downloaded from
Github
This release is the result of about 1.5 years of development, starting at the abandoned remains of wxRuby2, taking a
page out of the wxPython Phoenix book and ending with this release.
wxRuby3 is a cross-platform GUI library for Ruby, based on the mature wxWidgets GUI toolkit for C++. It uses native
widgets wherever possible, providing the correct look, feel and behavior to GUI applications on Windows, macOS and
Linux/GTK. wxRuby aims to provide a comprehensive solution to developing professional-standard desktop applications in
Ruby.
wxRuby3 also provides extensive usage documentation at its
Wiki
as well as
a complete
API reference
What has changed in this release?
improved documentation
support building against wxWidgets GIT master version
improved stability
add Wx::Overlay and Wx::DCOverlay
add 2D affine transformation support
add Wx::GraphicsRenderer
various DC support improvements
add large 2D drawing sample
Full Changelog
: https://github.com/mcorino/wxRuby3/compare/v0.9.8…v1.0.0
How to install?
gem install wxruby3
See the
INSTALL
documentation for more details.
Binary packages for major platforms are available as release assets on Github.
Where can I learn more?
Usage Documentation: see the
Wiki
API Documentation: see
here
Source code:
Github
Rubygems:
wxRuby3
Where can I provide feedback?
Report problems, bugs, instructions using
Github Issues
Start discussions, submit ideas, feature requests etc. using
Github Discussion
Credits
Thanks go to the dedicated wxWidgets team for providing such a fantastic GUI library to build wxRuby3 on as well
as to the wxPython Phoenix team for providing the idea of code generation from the wxWidgets interface docs.
For more credits see
here
Comments
Modern Icon Sets wxArtProvider Released
Posted on
November 21, 2023
perazz
has released
wxMaterialDesignArtProvider
, a custom
wxArtProvider
class providing SVG-based icons from the
Material Design
SimpleIcons
FontAwesome
and
FluentUI system
datasets. All these datasets come with permissive licenses (MIT, CC BY 4.0, CC0 1.0, Apache 2.0) that should make it easy to embed it in new and existing projects.
All SVG icons are hardcoded into headers such that no external files are needed to build the art provider class. Each dataset belongs to a custom client (so that filled/outline versions can be used for hovering effects) and color customization is provided via a simple regex-based extension.
Hopefully this can be useful to people who want to make their existing wxWidgets applications access modern icon sets with limited effort.
Comments
News Archive
Quick Links
Hello World in wxWidgets
Online Manual
Community Wiki
Report a Bug
GitHub Repository
Development Roadmap
News RSS Feed
Developer Blog
Solutions
US