Introduction to wxWidgets
wxWidgets is a leightweight GUI toolkit that is primarily targeted for C++ but is also available for other languages including Python. It gives applications a truly native look by using each platform's native API. wxWidgets is completely open source using the wxWidgets licence which is a more liberal version of the LGPL (allowing distribution without the source code). It is very actively developed and maintained and has good support for all common programming environments. The source code is available on the project's Github page.
To get started, install the required dependencies
sudo apt install libwxgtk3.0-gtk3-dev
After the installation, follow the official Hello World Example. Save your code to
hello_wx.cpp To compile the example, type
clang++ hello_wx.cpp `wx-config --cxxflags --libs` -o hello_wx
Start your first GUI application by typing
Compile with GNU Make
wxWidgets files can, of course, also be compiled with GNU Make. Use the source below as an example
# Sample Makefile for wx applications WX_CONFIG := wx-config WX_CXXFLAGS := $(shell $(WX_CONFIG) --cxxflags) WX_LIBS := $(shell $(WX_CONFIG) --libs) APPLICATION := hello_wx # adjust name to your desired application name OBJECTS := hello_wx.o app.o # enter the .o files or generate this list all: $(APPLICATION) $(APPLICATION): $(OBJECTS) $(CXX) -o $@ $(OBJECTS) $(LDFLAGS) $(WX_LIBS) $(LIBS) $(OBJECTS): %.o: %.cpp $(CXX) -c -o $@ $(WX_CXXFLAGS) $(CXXFLAGS) $< .PHONY: clean clean: find . -name '*~' -o -name '*.o' -o -name $(APPLICATION) | xargs rm
Download the above template Makefile.