views:

311

answers:

3

I had an idea for a plug-in for my favorite program runner Launchy, however after downloading the source code I found that it makes heavy use of the Qt library. The bulk of my experience is in C# and PHP and until that moment I had never really even heard of this library.

Which leads me to ask, does anyone have any impressions of it that they can share with me? Do you find working with it to be hard or easy? What professional/hobbyist prospects would experience with Qt make available for me? Is it fun? Do you think its worth my time overall? Are there any common gotchas that should I decide to learn it I should keep an eye out for? Just trying to solicit some opinions.

+5  A: 

I use Qt for commercial development and find it a very good library to work with. The main problem that you are likely to have is that it is C++. If you don't have much C++ experience most of the issues are likely to be C++ related rather than Qt related.

The part of using Qt which needs the most work to learn is the signal-slot mechanism. However, this is well documented.

You tagged the question with vc++ but the free version of Qt on windows only officially supports the Mingw compiler. The integration with Visual Studio is part of the commercial edition. (Qt open source edition) The Launchy plugin page does describe using Qt with Visual Studio, but then you need to build it from source yourself.

The KDE environment is based on Qt, so learning Qt will be useful if you want to work on any other Qt applications. Professionally, Qt is generally used for cross platform applications.

David Dibben
+4  A: 

I just want to add that learning Qt is definitely worth it, especially when programming with C++. Beside the GUI classes, it brings a lot of framework classes for handling containers, databases, threads.

One thing that is not often mentionned is the way Qt helps you translating your app in multiple languages. For us, it is definitely a big plus.

As David mentionned, the documentation is really good. Classes and methods naming is very consistent, which helps learning and using the whole framwork.

And once you understand the signal-slot, you won't stop using it !

We've been using it commercially for five years now, and I would definitely recommend it. Even though the support is not as fast as it used to be, it is still excellent.

Jérôme
+3  A: 

take a look at Launchy# - C# binding for launchy http://sourceforge.net/projects/launchysharp/

Krzysztof Koźmic
Hi, do you know if I need to run install and build QT as well as Launchy# ? I'm looking for very basic functionality along the sample go-y# lines...
ip