GUI Development with C++

I am a newbie C++ programmer (I have learnt enough about functions, loops, classes, constructors, destructors, arrays, pointers, file handling(fstream) and exception handling; should I still call me a newbie?). Well, my actual question is ...

I want to make an application using C++ programming, GUI style and cross-platform. Now, this is the first time I am doing it using C++. So, I have no prior knowledge about GUI development. I Google'd and found a few toolkits and among them (Qt, wxWidgets, FLTK etc.), I liked wxWidgets the most. But I want to make a GUI which is more beautiful than those which can be created using wxWidgets' common controls. Please tell me how to create a good GUI. This ( is something which I would consider to be a beautiful GUI.

Also, if possible, please suggest me an IDE with drag and drop (plz. don't suggest Qt + QtCreator) for whichever solution you provide to my question. I am very accustomed with Visual Basic's drag and drop methodology so, I want something that comes with a form designer (like wxDevC++).

And please, please, please, mention about the performance of the app, that I would get by using the toolkit you suggest. The main reason why I am trying to get into C++ GUI development is performance. I don't quite like the performance of Visual Basic apps.

That's all. Thanks in advance.... :)
Last edited on
Why don't you like Qt so much? It's a very solid GUI SDK...
There is also Glade for GTK but if you don't like Qt forget about learning GTK as it is a lot harder than Qt(in my opinion). I myself haven't really used anything besides Qt and a tiny bit of GTK and you just can't get better than Qt especially seeing as you want it cross platform. Also as far as drag and drop, I would suggest not doing that as it is very frowned upon in industry. In Qt you can link QSS stylesheets to your Gui's that will make them look way nicer and they work a lot like CSS stylesheets. Its not that hard to program Gui's, just find a good example online and work with that.
closed account (o1vk4iN6)
Qt is drag and drop ?
yes. that works in most cases.

Guys, thanks for replying. But you see, I don't like Qt mainly coz I can't make commercial apps with it. Well, can you please suggest me something else ? Please have a look at the photo in the link too.
You can make commercial programs with Qt as long as you are fine with LGPL.
You can also buy a commercial license for Qt which allows you to use it without having to release your program under the terms of the GPL. Other GUI toolkits have the same limitations as well I'm afraid so if you want to release a program under your own license commercially then you'll have to pay for a proprietary GUI toolkit.
That's a misconception. You can use whatever license you want for your code as long as you link Qt dynamically. Only if you make changes to the Qt library you have to release that code under the LGPL.
Using either Qt or wxWidgets requires very good knowledge of C++ features, which @OP does not seems to have it.

If you used wxWidgets in the past and you liked, stick with it. Use wxFormDesigner to design your controls using a 'drag & drop' interface.

For skinning the app, you can use wxHtmlWindow to embed a web browser control and use only HTML and CSS to design the content.
@Peter87 I know that, I just checked my Qt installation there and I could have sworn they were static libraries and not shared object files, well there you go. So really the only benefit to using Qt commercially is so you can modify the source without releasing your changes publicly.
Thanks all of you for replying. :D

@modoran: Using either Qt or wxWidgets requires very good knowledge of C++ features, which @OP does not seems to have it.

Hey Modoran, I guess you are much more experienced with C++ than me. So would you please tell me what I should learn next in order to get into the next degree ... However, I want to tell you that though I am new to wxWidgets, I have not faced any problem in understanding the classes of wxWidgets, yet.
Thanks in advance!
Last edited on
Topic archived. No new replies allowed.