.net and java are commercial frameworks backed by huge corporations, qt is backed by a very small company. however, unless you're a big corporation that needs all kinds of specific guarantees, using anything else except qt for new projects is simply idiotic nowadays imho (well, even qt is an overkill for many apps, if you don't need a very fast UI you can just use a pure c++11 backend and HTML5/javascript/websockets for the fronted, that way you're as future-proof as you can get)