wxwidgets.org

wxWidgets: Cross-Platform GUI Library

  • ️wxWidgets Team
  • ️Mon Sep 09 2024

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.6 Released

Posted on September 09, 2024

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 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?

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 May 13, 2024

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

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.

Screenshots of the wxMaterialDesignArtProvider sample browser in macOS and Windows

Comments

wxWidgets 3.2.4 Released

Posted on November 11, 2023

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

News Archive