I am looking to make a desktop gui for myself and maybe a few others, for data processing. I have heard Qt is the way to go for making Win32 apps so I will probably play around a bit with the API to get a general feel for things then dive into Qt.
Qt is definitely the way to go for desktop applications.
Note: You'll want to use QtCreator as your IDE, it makes things alot easier with Qt development.
Note 2: Qt is free, even for commercial use, as long as you dynamically link to the DLLs, but the website is confusing and often misleads people into thinking they have to pay licensing fees. Ignore that.
I didn't know that about WinRT or .NET, I will look into them, thanks.
...
Quick question, I am getting a bit confused about all the terminology they are throwing around. In terms of the Win32 API, which is pretty much raw C and C++ (isint it?), where does WinRT and .NET fit into things?
Win32 is written in C (or at least its interface is exposed as C). This means that any language that can "talk with" C can use Win32.
For Microsoft's new way of doing things, they created what they call a "Common Language Runtime" - this means any language that uses Microsoft's Common Language Runtime can use the .NET framework. C# was designed for .NET, but other languages have added some support.
Microsoft also created a different version of C++ that they call C++/CLI, which runs on the Common Language Runtime (the recommended IDE for that is Visual Studio). I haven't used "C++/CLI" (I've only used regular C++), so I don't know how good it is.
Whether you use C++ and Qt (in QtCreator), or C++/CLI and .NET (in Visual Studio), or C# and .NET (in Visual Studio), you'll definitely have alot of learning to do, and at first it'll seem confusing, but once you get over the hill, things will make sense.
WinRT is for the new Windows 8/10 style of apps ( [1] [2] ), which might not be what you are going for.
WinRT is built on the CLR, so anything that can use .NET can use WinRT.
As I said before, I'm biased in favor of Qt. Qt lets you make native applications looking the same visually like .NET does, but you can also theme them how you want and design your own widgets and such. Here's a complicated messy screenshot of my own project written in Qt. Mind the overuse of gradients and non-standard widgets - I get carried away.