tags:

views:

581

answers:

6
+6  Q: 

Is Qt worthwhile ?

Possible Duplicate:
Is Qt worth learning?

I've been considering the pros and cons of putting my hands on Qt...

Still I can't figure out the exact advantages, apart from cross-platform compatibility.

Any help from persons who have been working with Qt and can explain some things is welcome.

+10  A: 

Best advice I can give is to try it, and compare it to other frameworks.

Personally, I found that once I understood signals and slots, I was sold. Qt effectively extends the C++ language to provide these facilities, and I'd highly recommend setting yourself a little project to accomplish in Qt to explore these features.

That aside, the library is excellent, with a strong roadmap for future development. Qt Creator is a great IDE, particularly if you're new to Qt, and the form designer tools are very good too.

Paul Dixon
+5  A: 

In my (admittedly limited C++ GUI development) experience Qt makes writing apps a pleasure, not only GUI parts, but has so many utility libraries and it is so well designed that it helps developing the non GUI parts of the application as well.

Another benefit about learning Qt is the huge amount of bindings so if in another project you switch languages, you can still use what you've learned. I also take the amount of bindings as a good indicator of the library's quality.

Vinko Vrsalovic
+6  A: 

See: Is Qt worth learning?

Pukku
+3  A: 

I consider QT the ONLY viable choice when it comes to GUI programming simply because anything else isn't even remotely as easy to use and learn.
MFC is an abomination of object oriented design and isn't such a dramatic ungrade from using bare win32.
wxWidgets is obscure and not very mature
WTL is too minimalistic.

As far as I figure QT has no disadvantages to speak of. Also it has excellent support, even if you're not a commercial customer and a great community.

shoosh
I'm sold to Qt too, but wxWidgets is older than Qt. Thus the not very mature is false claim
Michaël Larouche
Maturity is not directly related to age. wxWidgets is a good example of something old and immature, I feel totally identified!
Vinko Vrsalovic
+3  A: 

I'm developing with Qt for five years...
So, if you would like a great framework to develop a cross-platform C++ application, learn Qt. You won't regret it !
It's easy to learn, with great support and very powerful and well designed !
Moreover Trolltech (Nokia) provides a complete development solution (QtCreator, ...)

Advantages are cross-plateform, great SDK, LGPL/GPL license, Mobile framework, complete class libraries and great references !
Have a look at this : http://www.youtube.com/watch?v=MXS3xKV-UM0

Matthieu
+2  A: 

I've started using Qt recently in a GUI/network project. Wouldn't switch to any other GUI framework now. Apart from GUI and networking it also has lots of other great stuff including parallel computing API and WebKit intregration. At work we use Eclipse 3.4 IDE with CDT 5.0 with Qt plugins - apart from few minor bugs it does the job really well. Haven't upgraded to Eclipse 3.5 and CDT 6.0 yet, gotta see if they fixed the bugs there. Bundled Qt Creator isn't all that much suited for larger projects though.

Things I like:

  1. Signals / Slots are a great way to achieve loose coupling
  2. Layout system is very good (after you find out how it works)
  3. Networking support (really easy to use)
  4. Good graphics support
  5. Great documentation with lots of examples
  6. Works on embedded devices too!
  7. There is also MS Visual Studio integration
  8. No need to install runtime libraries along with your program

Things I don't like:

  1. MOC compiler errors (very uninformative sometimes)
  2. qmake (haven't been able to make it read environment values)
  3. Uses own container templates instead of STL

Other than that, Qt is more than capable of handling most of your needs and since it's under LGPL now you can use it for closed-source projects as well.

frgtn
frgtn, see http://stackoverflow.com/questions/1143354/qtcreator-1-2-set-include-path-with-environment-variable-value - despite the title, it talks about using environment variables with qmake, both at the time qmake runs, and at the time the makefile runs.
Caleb Huitt - cjhuitt
Thanks, I'll give it a try!
frgtn