# wxwidgets/wxwidgets

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wxwidgets-wxwidgets).**

7,036 stars · 1,896 forks · C++

## Links

- GitHub: https://github.com/wxWidgets/wxWidgets
- Homepage: https://www.wxwidgets.org/
- awesome-repositories: https://awesome-repositories.com/repository/wxwidgets-wxwidgets.md

## Topics

`c-plus-plus` `cocoa` `cross-platform` `cross-platform-desktop` `desktop` `gtk` `gui` `gui-framework` `linux` `macos` `portable` `win32` `windows` `wxwidgets` `x11`

## Description

wxWidgets is a C++ UI toolkit and cross-platform GUI framework used to develop desktop applications for Windows, macOS, and Linux. It functions as a native widget wrapper, providing an abstraction layer that maps a single set of API calls to the native interface elements of different platforms.

The framework allows for the creation of native graphical user interfaces by utilizing the host operating system's own controls and APIs. This ensures that applications maintain a native look and feel across various operating systems while using a consistent codebase.

Beyond interface development, the toolkit provides standardized system functions for network communication, background threading to keep interfaces responsive, and the integration of 3D graphics.

## Tags

### User Interface & Experience

- [Cross-Platform GUI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-gui-frameworks.md) — Provides a comprehensive C++ framework for building native desktop applications that run on Windows, macOS, and Linux.
- [Cross-Platform GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/cross-platform-gui-toolkits.md) — Offers a comprehensive toolkit for building native graphical user interfaces across multiple operating systems from a single codebase.
- [C++ GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/c-gui-toolkits.md) — Provides a C++ based cross-platform UI framework including windowing systems, event loops, and widget hierarchies.
- [Cross-Platform UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-frameworks.md) — Enables the development of native graphical user interfaces that run consistently across multiple operating systems.
- [Cross-Platform Rendering](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/web-based-native-ui/cross-platform-rendering.md) — Renders graphical user interfaces using native system controls from a unified codebase across multiple operating systems. ([source](https://docs.wxwidgets.org/))
- [Native Widget Mapping](https://awesome-repositories.com/f/user-interface-experience/native-widget-mapping.md) — Implements an abstraction layer that maps generic API calls to the native UI controls of different host operating systems.
- [Responsive Interface Threading](https://awesome-repositories.com/f/user-interface-experience/responsive-interface-threading.md) — Runs background tasks and concurrent operations specifically to keep the graphical user interface responsive.
- [Windowing Abstractions](https://awesome-repositories.com/f/user-interface-experience/windowing-abstractions.md) — Provides unified interfaces for managing native window creation and event handling across different operating systems.

### DevOps & Infrastructure

- [Native Desktop UI Frameworks](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/native-desktop-ui-frameworks.md) — Provides a framework that renders user interfaces directly to native desktop elements using a non-browser architecture.
- [Conditional Compilation](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-tooling/build-configuration-governance/platform-specific-source-resolution/conditional-compilation.md) — Employs preprocessor macros to include or exclude platform-specific source files during the build process.

### Operating Systems & Systems Programming

- [Cross-Platform Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/cross-platform-compatibility-layers/cross-platform-abstraction-layers.md) — Standardizes system functions across different operating systems to ensure consistent behavior for graphical and non-graphical operations. ([source](https://cdn.jsdelivr.net/gh/wxwidgets/wxwidgets@master/README.md))
- [Native Applications](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/native-applications.md) — Creates user interfaces using host operating system APIs to ensure a native look and feel. ([source](https://cdn.jsdelivr.net/gh/wxwidgets/wxwidgets@master/README.md))

### Software Engineering & Architecture

- [Native System](https://awesome-repositories.com/f/software-engineering-architecture/api-wrappers/native-system.md) — Maps a single generic C++ interface to platform-native UI controls and system calls at compile time.
- [Dispatch Tables](https://awesome-repositories.com/f/software-engineering-architecture/dispatch-tables.md) — Implements static lookup tables to route system-level window messages to specific member functions efficiently.
- [Generic UI Fallbacks](https://awesome-repositories.com/f/software-engineering-architecture/implementation-fallbacks/generic-ui-fallbacks.md) — Renders custom-drawn UI components as fallbacks when a corresponding native control does not exist on the target platform.

### Programming Languages & Runtimes

- [Class Hierarchies](https://awesome-repositories.com/f/programming-languages-runtimes/class-method-definitions/class-hierarchies.md) — Utilizes a deep C++ class inheritance tree to share behavior and state across a variety of UI widget types.
- [Background Task Management](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/background-task-management.md) — Manages the execution of concurrent operations in background threads to keep the user interface responsive. ([source](https://www.wxwidgets.org/))

### Part of an Awesome List

- [User Interface](https://awesome-repositories.com/f/awesome-lists/devtools/user-interface.md) — Cross-platform GUI using native controls.
- [Media & Communication](https://awesome-repositories.com/f/awesome-lists/media/media-communication.md) — Cross-platform GUI library
