Finding an Application GUI Library for C ++

I am thinking of writing a very simple paint program. I need a more advanced method for inputting data into my program, like colors, brush thickness, etc. I would like to use a GUI library so that I can program buttons and menus to make input easier.

Any suggestions?

(I am running Visual C ++ 2005 SP1)

+2


source to share


5 answers


Qt is a pretty solid graphical GUI framework. It is cross platform, well documented, supported, and free.



+17


source


wxWidgets is an open source cross-platform library that has some nice graphical features.



+6


source


Is there a GTK + that doesn't suit your needs? It has many advanced controls for handling color inputs (originally designed for GIMP ). gtkmm :

the official C ++ interface for the popular GTK + graphics library. Features include callback types and a full set of widgets that are easily extensible through inheritance. You can create user interfaces either in code or with a Glade user interface by the designer using libglademm. There's extensive documentation including an API link and a tutorial.

Qt is also a feature. Both will allow you to write [mostly] platform independent code.

+5


source


Why not use ATL or MFC as they both ship with VS2005 ...

Another option would be WTL , which has been recommended by some of my former colleagues.

+3


source


Several variants:

  • Win32 API
  • Qt
  • .NET framework (using C ++ / CLI)
  • Wxwidgets

My usual pick: Win32 API

My recommendation for you: Qt

EDIT: Actually a simple paint program sounds very doable using only Win32 API and GDI +. If you are feeling brave enough then you can give it a try. (I tend to be biased towards easy decisions.)

+3


source