Guides & Tutorials
- Main article: Getting Started with wxWidgets
People who are completely new to wxWidgets would normally follow the steps illustrated below. See the main article for more details.
Installing wxWidgets and Setting up Your IDE
For an overview of IDEs that have been reported to work with wxWidgets, see the list of IDEs.
Your main guide for compiling wxWidgets should be the installation instructions : Look in <code-base-dir>/docs/.
This section needs a lot of cleanup and reorganization. If there's anyone that can merge same IDE/Compiler version guides (there's duplicates of a few) if you work on that platform/version, any help would be appreciated.
The following guides involve multiple platforms or compilers, they need to be split up and merged into one of the above guides.
wxWidget Design Patterns
- Sharing info between dialogs - more a C++ issue than a wx one, but comes up very often on the forum so at least we have a place to point people to...
- Events - Notes on using events in wxWidgets
- KeyCodes - wxWidgets keyboard mapping
- Subclassing WxControl - A simple example on how to subclass existing controls
- wxSizer - Lots of helpful tips on sizers here
- RTTI - The black art of wxWidgets RTTI (Runtime Type Information)
- Multiple Inheritance - The black art of using multiple inheritance in wxWidgets
- Wilcox:Subclassing Top Level Windows - Best Practices when subclassing wxFrame and the like
- Using XML With WxWidgets - XML processing with wxWidgets
DCs (Drawing, rendering, printing)
- Drawing on a panel with a DC
- An image panel
- Making a render loop
- Painting your custom control
- Mixing wxWidgets with Cairo (under construction)
Text, languages, strings
- Converting everything to and from wxString
- Unicode - Unicode support in wxWidgets
- Internationalization - support for internationalization
- Reading text from a file and also writing
- Creating A DLL Of An Application
- Using DLL Version Of WxWidgets Compiled With Open Watcom
- Programs That Support Plugins - Using DLLs
Resources and images
- Resource Files - Using wxWidgets resource files (also known as XRC).
- Embedding PNG Images - Including PNG image files into executables.
- Using wxImage to load textures for OpenGL
Executables, binaries, installers and distribution
- Installers - Distributing your application on all platforms.
- Distributing WxWidgets Applications
- Reducing Executable Size - some tips
Internet and networking
- Launching The Default Browser - kinda tricky prior to wx 2.6
- Calling The Default Browser In WxHtmlWindow - How to call the external browser on Internet URLs
- Getting IP Address Of Host
- Download a file from internet
- WxWidgets Source Oddities - About wxT(), __GNUG__, WXUNUSED(), etc..
- Undocumented Parts Of WxWidgets
- wxWidgets Source Code Overview
- Updating to the Latest Version of wxWidgets - Additional user notes about upgrading wxWidgets between new major and minor versions (ie: 2.6 to 2.8) not found in docs/changes.txt.
Events, threads, flow
- WxBase Eventloop - implementing an event loop and timers in wxBase
- Inter-Thread and Inter-Process communication
- Catching key events globally
- Dragging a wxWindow around
- Making a new reusable widget by combining existing widgets
- Command-Line Arguments
- Debugging A WxWindow Application - Using __WXDEBUG__, for example.
- Avoiding Memory Leaks - Partly general C++ programming tips, but also some information on wxWidgets' automatic memory management that's interesting for experienced C++-programmers.
- Namespaces - How to derive from wxWidgets classes and use a namespace
- Using Text Templates - example for combining wxHashMap, wxVariant to make text templates, especially embedding wxImage in a wxHTML page.
- ODBC - howto work with it under wxWidgets
- Wx In Non-Wx Applications
- Wx Patching - How to submit a patch in 3 steps
- WxMac_BadgeLabels - wxMac specific: How to display a badge label at the dock icon
- wxBasic utilities - Describes how to build your complete IDE for writing Windows/Linux applications using the freeware ConTEXT text editor and the wxBasic binding. Contains English and Italian tutorials.
- Obtaining the path of the application - Not the current working directory, scroll down to 'Tips for finding the application path'.
- Program Phase 1-16 - implements Program Phase Task 1 using C++ and wxWidgets on the Linux and Windows platforms.
- wxWidgets 101: Building Professional Application with C++(Three Parts: Beginner, Intermediate and Advanced)
- Understanding Sizers
- Simple HOW-TO how Sizers work
- Tutorial by zetcode
- Writing Your First Application
- wxTutorial by Franky Braem
- MadMonky1's Tutorial
- Programming with wxWindows (by David Beech)
- Building wxMGL Port
- Compiling A WxWidgets Application
- Compiling Using MSVC On The Commandline
- wxBasic Tutorial
- wxMS_developers Tutorials and Demos
- Minimal wxFrame App using wx-DevC++
- Extended wxFrame App using wx-DevC++
- OpenGL application using wx-DevC++
- Screencast for creating simple Dialog using wxForms
- Screencast for creating Hello World using wxForms for Delphi