I have been programming on console since two years. I know fairly well about C++ and have also used SFML for game programming using console. What I want now is to get out of console programming and start window programming. So I ask for your guidance as to how should I get started with window programming.
Is that "I want to really learn the internals of the windows API",or is that "I want to make GUIs with buttons and switches and pictures and all that sort of thing"? Big, big difference, so which of the two is it?
There are numerous good libraries for working with graphics.
As a cross-platform solution, you could take a look at QT or wxWidgets. Both provide all functionality you need to create windows with a good GUI, including buttons and other widgets you want.
If you are working on windows and prefer to use a C-like interface, you could try the Windows API. It has all features required to bring up windows with widgets (it has buttons and text fields), but the API might be a bit complex and tedious, and it surely looses to specialized C++ GUI libraries.
Then there's Linux. There are multiple ways to go there. Usually a cross-platform GUI alternative is chosen. QT or GTK+ tend to be the most popular alternatives. If you like to know how these work internally, you could try using the X11 windowing system. The X11 system requires you to do most work yourself though.
Even my teachers are saying I should go with Qt. Now I have worked with Qt but can't seem to really understand it that's why I left it. So are there any tutorials or books about Qt? Or any other help you can provide about Qt?
Before you actually start GUI development I would get very familiar with object oriented programming, as well as have the basic concept of data structures down. Just my opinion though, everybody has different paces for learning.
I know object oriented programming and have worked on many games and console based applications. I also know a lot about data structures and I use one in almost all of my applications. Just wanted to give those applications a GUI rather than being console based. And I also want to learn 3D gaming using Open GL but I have delayed it for the moment. I have also made many 2D games using SFML like Snake, Mastermind, Checkers, Chess, Blackjack, Spades, Hearts and so on.
I want to know that can I use SFML with Qt or not? If not then does Qt provide the features of SFML like networking, audio, graphics and etc.?