Skip to content
wxWidgets - Cross-Platform GUI Library
Stop Russia agression of Ukraine
Stop the War in Ukraine

wxWidgets is united with the people of Ukraine and the international community.

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, 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.

Latest News

Modern Icon Sets wxArtProvider Released

Posted on

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.

Screenshots of the wxMaterialDesignArtProvider sample browser in macOS and Windows

Comments

wxWidgets 3.2.4 Released

Posted on

Yet another release in the stable 3.2 series is now available on GitHub. You will find there archives with the library sources and documentation as well as binaries for the selected Windows compilers such as Microsoft Visual C++, MinGW-w64 and TDM-GCC. You can also read the updated documentation for this version and, in particular, if you’re new to wxWidgets, you may find the installation guide a good starting point.

Changes since 3.2.3

This release comes very soon after 3.2.3 because some of the changes in the last release resulted in regressions fixed by this release. Notably, 3.2.4 fixes a critical bug which made applications using wxGTK but not initializing the GUI to crash (see issue #23981).

Other bug fixes include:

  • Fix regression in wxTranslations::AddCatalog() return value (#24019).
  • Fix possible crash and too high CPU use when using EGL (#24018).
  • Fix losing clipboard contents when clearing a different selection (#23988).
  • Fix possible crash when dragging pages in wxAuiNotebook (#24027).
  • Fix refreshing multiple selection items in generic wxListCtrl.
  • Fix showing windows for background apps under macOS Sonoma (#23893).

The only new addition in this release is the possibility to create objects of wx legacy “dynamic arrays” class from std::initializer_list<> (#23966).

Please see the full change log for more details.

This release is API and ABI-compatible with the previous 3.2.x releases, so the existing applications don’t even need to be rebuilt to profit from all the fixes above if they use shared/dynamic libraries. And if they do need to be recompiled, this can be done without any changes to the code.

Feedback

Please let us know about your experience with this release via any of the following channels:

or by commenting under this post.

Thanks to all contributors to this release and we hope that you will enjoy working with it!

Comments

MFC Porting Guide

Posted on

Utah C++ Programmers group has released a new video about porting from MFC to wxWidgets accompanied by a gist with a step-by-step guide.

Hopefully this can be useful to people who want to make their existing MFC applications portable or just to switch to a more actively maintained framework.

Comments

wxWidgets 3.2.3 Released

Posted on

Latest release in the stable 3.2 series is now available on GitHub. You will find there archives with the library sources and documentation as well as binaries for the selected Windows compilers such as Microsoft Visual C++, MinGW-w64 and TDM-GCC. You can also read the updated documentation for this version and, in particular, if you’re new to wxWidgets, you may find the installation guide a good starting point.

Changes since 3.2.2

This release contains many important bug fixes, including for some regressions in the previous 3.2.x releases, as well as build system improvements and a few optimizations.

Without listing all of them, areas with the most improvements were:

  • Internationalization support: fix setting Chinese and some other locales in wxOSX and setting Ukrainian locale in wxMSW and fix loading wxWidgets translations with wxTranslations::AddStdCatalog().

  • Wayland support in wxGTK and, in particular, OpenGL support under Wayland: fix hiding wxGLCanvas and avoid catastrophically slowing down the entire program when it is hidden; fix crash when using IME; fixes to popup windows, menus and wxPreferencesEditor behaviour.

  • Validators and input: don’t allow pasting characters forbidden by wxTextValidator; do allow entering temporary invalid value when using numeric validators. Also fix entering dates in wxGenericDatePicker in "nb_NO" and other locales using months names in short date format.

  • Key event generation: more fixes for non-US keyboard layout in wxGTK and also generate events for Command+Alt+Letter combination in wxOSX.

All in all, this release includes more than 200 fixes from almost 50 contributors, please see the full change log for more details.

This release is API and ABI-compatible with the previous 3.2.x releases, so the existing applications don’t even need to be rebuilt to profit from all the fixes above if they use shared/dynamic libraries. And if they do need to be recompiled, this can be done without any changes to the code.

Feedback

Please let us know about your experience with this release via any of the following channels:

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 3.2.2.1 Released

Posted on

The very recent 3.2.2 release unfortunately contained a user-visible regression in wxGenericTreeCtrl, which stopped showing icons, so we had to make a hotfix release fixing this problem.

There are no other changes in 3.2.2.1 compared to 3.2.2.

Comments

News Archive