wxWidgets Documentation

Welcome to wxWidgets, the première cross-platform GUI C++ framework.

This is an index of the plain text, HTML, Windows Help and Acrobat documentation: availability depends on what you've downloaded from the wxWidgets Web site.

[Install] [Manuals] [Technical Notes] [3rd party tools] [Optional Libraries] [Samples] [Demos]

Installation and release notes

Unless you installed a binary version of wxWidgets using RPMs, you will probably have to compile the wxWidgets library first. Please read the platform-specific readme.txt and install.txt for how to do this.

- ReadMe: General ReadMe, wxMSW, wxGTK, wxMac, wxCocoa, wxMGL, wxMotif, wxX11, Univ
- Installation: wxMSW, wxGTK, wxMotif, wxX11, wxMac, wxCocoa, wxMGL, wxOS2
- General change log
- Licence: Preamble, Licence, Documentation Licence, L-GPL, GPL
- FAQ:
  - General questions
  - Questions common to all platforms
  - wxWidgets for Windows
  - wxWidgets for GTK+
  - wxWidgets for Motif
  - wxWidgets for X11
  - wxWidgets for Unix
  - wxWidgets for Mac
- ToDo: General ToDo, wxGTK, wxMotif, wxMac

Further platform-specific notes:

- wxMSW: Windows XP

wxWidgets manuals

To use manuals in wxHTML Help form (extension htb), you can use the HelpView application, either compiling it from utils/helpview in the distribution, or downloading a binary, for example from here.

HTML | WinHelp | MS HTML Help | wxHTML Help | PDF
wxWidgets Reference | wxWidgets Reference | wxWidgets Reference | wxWidgets Reference | wxWidgets Reference
Tex2RTF | Tex2RTF | Tex2RTF | Tex2RTF | Tex2RTF
FL Library | FL Library | FL Library | FL Library | FL Library
OGL Library | OGL Library | OGL Library | OGL Library | OGL Library

Technical notes

- Index of technical notes
- Technical notes
- Platforms supported
- Languages supported by wxWidgets

Thirty-party tools

- gettext Manual

Optional Libraries

These are the optional libraries in the contrib hierarchy.

- animate: a flip-book animation class, with animated GIF player.
- deprecated: deprecated classes including the old WXR resource system and property sheet classes.
- fl: a frame layout/docking library.
- foldbar: wxFoldPanel class for economical layout of controls.
- gizmos: a variety of GUI classes including wxDynamicSashWindow, wxLEDNumberCtrl, wxEditableListBox, wxStaticPicture and a split tree/content view.
- mmedia: deprecated library for playing audio and video.
- net: wxEmail class.
- ogl: Object Graphics Library (for drawing connected shapes).
- plot: simple plotting class.
- stc: wxStyledTextControl, a wrapper for the Scintilla code editor control.
- svg: wxSVGFileDC class for drawing vector graphics into a SVG file.

Samples

Each of the following samples demonstrates one or more aspect of wxWidgets.

- access: Active Accessiblity sample (Windows only).
- artprov: shows how you can customize the look of standard wxWidgets dialogs by replacing default bitmaps/icons with your own versions.
- aui: wxAui (docking subsystem) sample.
- calendar: a sample to test the wxCalendarCtrl class.
- caret: a sample to test the wxCaret class.
- checklst: demonstrates wxCheckListBox on supported platforms (currently Windows and GTK only).
- config: demonstrates use of wxConfig, which defaults to wxRegConfig on WIN32 (optionally wxIniConfig), and wxFileConfig on other platforms.
- console: demonstrates a console application using console-mode (no-GUI) compilation of wxWidgets.
- controls: sample showing a variety of controls, including wxNotebook.
- db: wxODBC sample.
- debugrpt: wxDebugReport sample.
- dialogs: shows some of the common dialogs available -- wxFontDialog, wxColourDialog, wxFileDialog, wxDirDialog, wxMessageBox, wxTextEntryDialog, wxSingleChoiceDialog. For printing-related dialogs, see the printing sample.
- dialup: wxDialUpManager demo.
- display: wxDisplay demo.
- dnd: demonstrates drag and drop on supported platforms.
- docview: demonstrates use of the document view classes, using wxFrame.
- docvwmdi: demonstrates use of the document view classes, using wxMDIParentFrame, wxMDIChildFrame.
- dragimag: wxDragImage demo.
- drawing: tests device context drawing.
- dynamic: shows how to connect events to member functions dynamically.
- erase: Window erasing sample.
- event: demonstrates event handling.
- exept: demonstrates exception handling.
- exec: demonstrates wxExecute.
- font: tests fonts, font enumerator, font encodings.
- grid: demonstrates the wxGrid class.
- help: shows how to use wxHelpController.
- html: a number of demos for the wxHTML class library, used inside applications and also as a help facility.
  - about: shows use of a wxHTML widget inside an About box.
  - help: shows use of wxHtmlHelpController to display wxHTML help.
  - helpview: a stand-alone wxHTML help viewer for any .htb book.
  - printing: shows how easy it is to preview and print HTML files.
  - test: general wxHTML test application.
  - virtual: demonstrates the virtual file system feature.
  - widget: demonstrates the use of controls in HTML pages.
  - zip: shows how help files can be packaged in zip archives.
- htlbox: demonstrates wxHtmlListBox.
- image: shows off the cross-platform wxImage class.
- ipc: shows the DDE-like protocol in action, both using real DDE on Windows, and TCP/IP on all platforms. Edit ddesetup.h to switch between compilation modes.
- internat: use of wxWidgets' internationalization support.
- joytest: tests the wxJoystick class (currently Windows and GTK only).
- keyboard: tests keyboard support.
- layout: shows the constraint layout system in action.
- listctrl: demonstrates the wxListCtrl (implemented natively on WIN32, and using a generic version on other platforms).
- menu: tests menus.
- mediaplayer: demonstrates wxMediaCtrl, for playing movies and audio files in a window.
- mdi: shows off the MDI (Multiple Document Interface) classes. On Windows, the regular MDI scheme is used whereby child windows have full sizing and moving rights within the main window. On other platforms, tabbed windows are used, where the children are always maximized.
- memcheck: demonstrates the memory checking/debugging facilities.
- mfc: shows how to use MFC and wxWidgets code in the same application (Windows only). To compile this, you must edit include/wx/wxprec.h, comment out the windows.h inclusion, and recompile wxWidgets.
- minifram: demonstrates a frame with a small title bar. On platforms that don't support it, a normal-sized title bar is displayed.
- minimal: just shows a frame, a menubar, and a statusbar. About as small a wxWidgets application as you can get.
- mobile: mini applications for embedded platforms.
- multimon: demo showing how to use multiple monitors.
- nativdlg: shows how wxWidgets can load a standard Windows dialog resource, translating the controls into wxWidgets controls (Windows only).
- notebook: shows the wxNotebook (tabbed window) control.
- oleauto: a little OLE automation controller (Windows only; requires Excel to be present).
- ownerdrw: demonstrates owner-draw menus and controls (Windows only).
- png: demonstrates PNG loading.
- printing: shows printing and previewing.
- propsize: demonstrates proportional sizer classes.
- regtest: tests the low-level Windows registry functions (Windows only).
- render: shows how to use wxRenderer to implement controls consistent with the platform's native look.
- richtext: demonstrates wxRichTextCtrl.
- rotate: demonstrates interpolated and non-interpolated rotation of a wxImage.
- sashtest: demonstrates use of the wxSashWindow class to allow the user to resize subwindows.
- scroll: demonstrates wxScrolledWindow.
- scrollsub: demonstrates the use of wxScrolledWindow to scroll an embedded window.
- shaped: demonstrates non-rectangular windows using wxFrame::SetShape.
- sockets: demonstrates the TCP/IP family of classes.
- sound: demonstrates use of wxSound.
- splash: demonstrates use of the wxSplashScreen class.
- splitter: demonstrates the wxSplitterWindow class.
- statbar: demonstrates the wxStatusBar class.
- taskbar: demonstrates the wxTaskBarIcon class, for adding icons to the system tray. Windows only, but may eventually be implemented for other desktop environments that use this metaphor.
- text: demonstrates single and multiline text controls, and clipboard operations.
- thread: tests the family of classes for doing thread programming.
- toolbar: demonstrates wxToolBar.
- treectrl: demonstrates wxTreeCtrl.
- typetest: tests various data type classes, including wxTime, wxDate and wxVariant.
- validate: shows simple use of validation.
- vscroll: shows use of wxVScrolledWindow.
- wizard: demonstrates the wxWizard class.
- xrc: demonstrates the XRC resource system.

The following are deprecated samples.

- resource: shows how to use old-style wxWidgets resources (.wxr files).
- proplist: demonstrates the property list classes (a VB-style property editor).
- treelay: an algorithm for displaying tree hierarchies.

Demos

The following are fully-fledged applications.

- bombs: minesweeper-like game.
- dbbrowse: ODBC database browser application.
- forty: a great little card game by Chris Breeze.
- fractal: fractal mountains by Andrew Davison.
- life: the game of Life by J. H. Conway, implemented in wxWidgets by Guillermo Rodriguez Garcia.
- poem: a little poetry display program.