If you use Qt, you are more or less invited to use their version of the standard library.
That is, qString instead of string, for example. If you read a qTextField, you get a qString instead of a string.
It's just that it gives you some more functionalities and checks.
You can use the Qt IDE to design the GUI, and it's quite good, so there's no need to fire up Visual Studio at all.
Unlike Java, which adopts the same GUI to rule them all, Qt provides a native look for each platform.
Truth is, sometimes it's not perfectly native, but you won't need any native calls and it will spare you any #ifdef.
License wise, it's the same as using the std library, you can release as closed source unless you mod the Qt library itself.
And even then you would just need to release the changes you made to the library and not your whole program.
LGPL was originally made for libraries.
You can use the library in your program without releasing the code of your program.
If you want to modify the code of the library itself, then you have to release the mod to the library under the same license (LGPL).
What's all the fuss about the dynamic / static linking?
Some people consider static linking as merging the code of your program with the code of the library.
And so they say that you should release the code of your program under the same license of the library.
It's not exactly like that, but use dynamic linking and everything will be fine.
In case you do want to investigate further, here you go
http://stackoverflow.com/questions/10130143/gpl-lgpl-and-static-linkinghttp://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamicThat said, Qt is a HUGE framework, far bigger than Java standard library.
Fortunately, it's truly modular and it's written with a more consistent style.
Make sure you understand the style they are "suggesting" you to use, or you'll be swimming against the tide.