I am nearly done with a course about using OOP in C++ and all the programs we wrote in that course were console applications . I also finished a university course in C programming so I think I have solid C programming basics and now is the time to make a big step towards GUI .
I did a lot of googling and each time I read more pages I get more confused , I learned that there were too famous options in the past which are WinAPI and MFC. I tried to look into the WinAPI but It seems pretty tough and needs a lot of time so I asked my instructor's advice and he told me that If I wanna write GUI programs I would better learn C# or Java rather than using C++ which is faster but better designed for low level programming applications like drivers and so . So I searched the web to find if C++ is still used in writing nowadays applications and to my surprise Firefox, Google Chrome, Notepad++ and many other GUI applications on sourceforge.net are written in C++ in contradiction with my instructor's advice. Also I learned that you can use QT or GTK libraries to build GUI applications in C++ but I have no idea ow to do that or if that is true.
So My question is what are the nowadays best available options to write GUI programs efficiently no matter how steep is the learning curve. I googled for C++ GUI options because It think it will be faster than Java or C# apps, If anyone has a different opinion state it please.
First of all, if you want to lean to write platform independent GUI then C# is no go.
When you write GUI in C++ there is a question of toolkit, Qt and GTKmm provide you very solid cross platform toolkits. While Qt has more "native" look and feel on Windows than GTKmm, Java Swing allows you to write very good GUI as well but it would be heavier and slower then one written with Qt or GTKmm.
Now... C#/WPF same issues as Java GUI - slower then native, but also it also locks you on one platform only.
My personal advice start from Qt.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With