WxWidgets
lastmod 2021-05-18created 2014-08-2978 edits
|
wxWidgets (formerly wxWindows) is a widget toolkit for building graphical user interfaces for cross-platform applications. wxWidgets lets a program's GUI code compile and run on the operating systems of many computers without special code changes. It supports operating systems such as Microsoft Windows, Mac OS X, Linux/Unix (X11, Motif, GTK+), OpenVMS, OS/2, and AmigaOS.
How to compile
Go to /build/msw in the install path and compile as follows.
For release mode, enter the following.
Note that when using the compiled library, applying the -std=c++11 flag may keep it from working properly.1 In this case, use -std=gnu++11.
MinGW build
Install using mingw32-make.exe. If an error related to libiconv-2.dll occurs, copy bin/libiconv-2.dll from the directory where mingw is installed. The version of mingw32-make used is 3.82.
Makefile parameter:
-
SHARED=0: Builds static libraries. -
SHARED=1: Builds dynamic libraries. -
MONOLITHIC=1: Packages all libraries in a single file. (Note: do not combine this option with a static build.) -
UNICODE=1: Builds wxWidgets with Unicode support. -
BUILD=debug: Build the library with debug support. -
BUILD=release: Release build of the library (with no debug support).
How to build:
- Build a dynamic library (DLL). (single file)
-
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release -
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=debug
-
-
mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release -
mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=debug
-
mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 BUILD=release -
mingw32-make -f makefile.gcc SHARED=0 UNICODE=1 BUILD=debug
Simple build:
cd /d [wsWidgets설치디렉토리]\build\msw
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release
MacOSX compile
Go to the build-release folder and run the configure command as follows.
$ ../configure --with-osx_cocoa --with-macosx-version-min=10.8 \
--with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk \
--enable-unicode --enable-monolithic --prefix="$(pwd)"
-
--with-osx_cocoa: Uses the Cocoa framework. Supports 64-bit. Set this for Lion/Mountain Lion users -
--enable-universal_binary: Supports both 32-bit and 64-bit. Recommended not to set this if the target users of the finished application are limited to Lion/Mountain Lion -
--with-macosx-version-min=10.8: Change the trailing 10.8 to set the minimum supported OSX version -
--with-macosx-sdk=path: Likewise, change the 10.8 at the end to set the SDK version to use. Recommended to match--with-macosx-version-min -
--enable-unicode: Whether to use Unicode -
--enable-monolithic: Whether to build the output as one single library. Recommended to enable if you don't want to bother with detailed settings -
--disable-shared: Whether to build the output as a static library instead of a dynamic library. Note that it cannot be enabled together with--enable-monolithic.
To build in debug mode, add the --enable-debug option.
Libraries
| |
wxWidgets class Hierarchy
| |
Category
- Archive Formats
- Event Handling
- File functions
- First wxWidgets Program
- Process Control
- Device Contexts (DC) & Rendering
- Smart Pointers
- Time & Date
- Test
- XRC
- wxEntry: The Main function of wxWidgets.
- Interprocess Communication
- Command-Line Arguments
- wxPython
- Troubleshooting
- Memory: How wxWidgets manages memory.
Example
- wxWidgets:Example:GoogleMaps: wxWidgets Google Maps example.
- wxWidgets:Example:GraphPanel: wxWidgets Graph panel example.
Local Download
- wxWidgets 3.1.0
- WxWidgets-3.1.0.tar.gz (Github source code)
- Cross-Platform GUI Programming with wxWidgets
- https://ptgmedia.pearsoncmg.com/images/0131473816/downloads/0131473816_book.pdf
-
Cross-Platform_GUI_Programming_with_wxWidgets_-_0131473816_book.pdf
See also
GUI Form Editor
Web
- wxWebKit: https://sourceforge.net/projects/wxwebkit/
- wxWebConnect: http://www.kirix.com/labs/wxwebconnect/downloads.html
Favorite site
Tutorial
- [Recommended] wxWidgets tutorial 2
- [Recommended] Guides & Tutorials
- wxWidgets Hello World Example
- wxWidgets Events and Event Handling
- wxWidgets 2.8.12 Documentation 3
- [Recommended] Introduction to wxWidgets 4
- tutorialspoint - wxPython Tutorial
Guide
- wxWidgets Coding Guidelines
- [Recommended] wxWidgets: Screenshots of Different Controls (comparison of control screenshots on wxMSW, wxGTK, wxOSX)
- Creating a Custom Widget
- Compiling wxWidgets with MinGW
- wxWidgets 15. Controlling progress bars and timers
- wx-sdl: A tutorial on combining wxWidgets with SDL 56
- Eclipse, CDT & MingW & MSYS Setup Guide
- Flicker-Free Drawing
- wxWiki - Precompiled Headers 7
- Stackoverflow - wxWidgets: How to initialize wxApp without using macros and without entering the main application loop?
References
- ACDSee
- Audacity
- C++
- C++:pointer
- CMake:Modules
- Computer Sciences
- Darktable
- DigiKam
- Geeqie
- Glade
- GNOME Photos
- Google Maps
- Graphical user interface
- GThumb
- Gwenview
- Image organizer
- KPhotoAlbum
- Lychee (image organizer)
- Nomacs
- RawTherapee
- Shotwell
- Simple and Fast Multimedia Library
- TreeSheets
- User Interface
- Web Scraping
- Widget toolkit
- WxAlignment
- WxAUI
- WxDirection
- WxEntry
- WxPython
- WxSizer
- WxSlider
- WxWidgets:Example:GraphPanel
- WxWindow
- XnView