Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I am familiar with the basics and fundamentals of C++ and now I would like to move on to designing and coding GUI features of it, interactive dialogues, etc... like VB or Delphi

Where do I start (self teaching text book, online tutorial)?


share|improve this question
GUI programming is a pretty broad topic. What is your target system? Windows? Linux? OS X? Cross-platform? What kind of GUI? Something that is mostly data driven? Something with lots of custom widgets and user interaction? There are many directions to start in, we can help if you are a bit more specific. –  FrustratedWithFormsDesigner Jun 13 '11 at 14:27
My target system is Windows, It is data driven, with lots of interactive dialogues and user interactions, widgets, etc... Thx –  H_Miri Jun 15 '11 at 9:24

2 Answers 2

up vote 3 down vote accepted

Here's how I prefer to learn how to program a new GUI system:

  1. Choose the target GUI system: Windows, Cocoa (Mac OS X and iOS), GTK+ (Linux), KDE (also Linux), wxWidgets, Qt, etc.
  2. Do a search on Amazon for "PLATFORM C++", where PLATFORM is what you just chose.
  3. Review the search results, read the reviews, and pick what looks good to you.

I'm not aware of any good books that cover more than one GUI platform well, and that's probably not feasible on at an introductory level.

share|improve this answer
GTK+ is not C++. Also GTK+ is cross platform, not Linux. –  alternative Jun 13 '11 at 14:50
@mathepic: My focus was on GUI systems a tolerably capable C++ programmer could learn readily. Others on the list are also not purely C++: Windows (the Win32 API is C; only MFC is C++), Cocoa (you really should use ObjC), Qt (uses a preprocessor), etc. FWIW, I'm a GTK+ contributor and am at times painfully aware of it being C and not C++. –  Bob Murphy Jun 13 '11 at 15:06

For GUI features like VB or Deplhi, yeah, Bob Murphy is correct, you're going to have to choose a platform and then go research it. A book is a good idea, but you can also make headway using online tutorials.

As an alternative, if you want to experience full graphical control, try out a graphics library like SDL or openGL. Both of which have libraries that provide the typical GUI constructs like textboxes, buttons, checkboxes, radio buttons, etc.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.