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

wxWidgets 3.2.7 Released

Posted on

3.2.7 is the latest maintenance release in the stable 3.2 series and is now available on GitHub, from where you can download 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 online and, in particular, if you’re new to wxWidgets, you may find the installation guide a good starting point.

Changes since 3.2.6

This release contains more than a hundred bug fixes and improvements. Some of the most important fixes are:

New in this release:

  • Add wxNO_UNUSED_VARIABLES to opt-in into getting helpful warnings (#24882).
  • Add wxApp::SetErrorExitCode() to better handle initialization errors (#24770).

Other changes include:

  • More high DPI fixes in wxMSW (#24650, #24651, #24815, #24850, #24821, #24941).
  • Improve wxInfoBar appearance (#24838, #24902, #25048).
  • Fix possible crash during session termination in wxMSW (#24903).
  • Wayland fixes to copy-pasting (#24701) and drag-and-drop (#25116) in wxGTK.
  • Fix truncating labels of newly added wxNotebook pages in wxOSX (#25194).
  • Fix Z-order of auto-complete popup of wxStyledTextCtrl in wxOSX (#25202).
  • Fix buffer read overflow when compiling RE ending with backslash (#25040).
  • Make wxTempFile::Commit() and wxRenameFile() really atomic (#25088).

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 Book Examples Now Available on GitHub

Posted on

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

wxWidgets 3.2.6 Released

Posted on

This is the latest maintenance release in the stable 3.2 series and is now available on GitHub, from where you can download 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 online and, in particular, if you’re new to wxWidgets, you may find the installation guide a good starting point.

Changes since 3.2.5

This release contains relatively few changes compared to the previous one, but they include important bug fixes, such as:

  • Fix resource leak in wxBitmapBundle in some circumstances (#24703).
  • Fix crash when using static wx libraries in a Windows DLL (#24730).
  • Fix possible crash during drag-and-drop in wxGTK (#24677).
  • Fix wxDatePickerCtrl being unusable in some locales in wxGTK (#24533).
  • Fix regression in focus handling under macOS 14+ (#24605, #24667).
  • Fix regression in wxTranslations introduced in 3.2.3 (#24297).

Other changes include:

  • High DPI fixes for wxBitmapComboBox (#24563), wxDataViewCtrl (#24648), wxNotebook ([#24606]), wxPropertyGrid (#24607), wxWizard (#24743).
  • Improve wxSlider appearance under macOS (#24532, #24539).
  • Correctly use current keyboard layout in key events in wxGTK (#24772).
  • Fix handling of ligatures in wxStyledTextCtrl in wxGTK (#13168).

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

wxRuby3 1.0.0 released

Posted on

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

wxWidgets 3.2.5 Released

Posted on

The latest release in stable 3.2 series is now available on GitHub and you can download 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 from there. You can also read the updated documentation for this version online and, in particular, if you’re new to wxWidgets, you may find the installation guide a good starting point.

Changes since 3.2.4

This release contains more than a hundred fixes and improvements for all platforms. Some of the most important ones are:

Other changes include:

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

News Archive