Advertisement

Who uses QT?

Started by May 04, 2010 05:38 PM
6 comments, last by Rydinare 14 years, 6 months ago
I'm going to be moving the core of my project from C# over to C++; and figured this would be a decent time to redo the bland WinForms user-interface I've currently got going on; now that I have a much clearer idea of what all exactly the user interface should do. I downloaded QT since it seems one of the legitimately cross-platform development suites out there; unlike VStudio, I can use the designer and apart from platform specifics (my code has to do low latency audio so that makes it a bit trickier with regards to the platform) it should theoretically run all over the place. Having not much experience, I'm wondering if any of you folks are actively using it and what your thoughts are? Mostly I'm curious, if you had a WinForms background, how long it took you to get up and running with QT.
I use Qt at work daily, and highly recommend it.

You probably don't even need to use the forms designer, it's simple enough to create the UI programatically once you get familiar with their widgets. Otherwise their designer is almost identical to the WinForms designer.

You might want to check out their Visual Studio integration aswell. For the moment I would recommend still using VS as your IDE instead of QtCreator simply because of MS's friendly debugger (with QtCreator you have to use gdb which can be a chore if you're not familiar with it).

Anyway, while you're compiling Qt (which you need to do as part of the install - takes afew hours) check out their documentation and examples, which should give you a fairly good idea. In particular QWidget, QLayout, Signals & Slots and Qstyle would be good starting points.
Advertisement
We use Qt extensively at work. Version 4 is much better than the previous incarnations but there are still some funny ownership issues. It truly is cross platform, is easy to work with (the .moc files are not as much of a problem to deal with as I first thought they would be), the documentation is pretty good.

Really, it's the only cross-platform toolkit worth considering.

Stephen M. Webb
Professional Free Software Developer

I was just assigned to work on a QT project. Is it considered the sdk to use if not using native MFC or Mac/Linux equivalent? What about Java, WxWidget?

More importantly, how is the demand for QT compared to MFC, Java, and other GUI solutions? Similarly, if I were to outsource a project, can I find as many QT developers compared to others?

The only thing that makes me hesitant to learn it in depth is its non-free commercial license, which I wouldn't have budget for if my personal projects were to be commercial. Java and WxWidgets are free I think.

By the way, I have no worthy GUI experience. My main focus is more low level, and the little GUI in former games were written from scratch with lots of drawLine() calls.


Quote: Original post by rumble
The only thing that makes me hesitant to learn it in depth is its non-free commercial license, which I wouldn't have budget for if my personal projects were to be commercial.


Qt is available under the LGPL. You can link to it dynamically from your closed source commercial app. You don't need the commercial license for that.

<hr />
Sander Marechal<small>[Lone Wolves][Hearts for GNOME][E-mail][Forum FAQ]</small>

We use it also and can recommend it. We have a OpenGL based engine and Qt is used for window creation, input, gui (directly in OpenGL thanks to Qt's painting engine having an OpenGL back-end) and scripting.
The same project file works under Linux and Windows and QtCreator supports svn, git and mercurial and debugging works well.
Qt has also very good documentations.
Advertisement
The new version of Qt Creator has a preliminary QML visual designer. From where I sit, QML > .ui files.

I use Qt on an open source project (GPL, so we don't have to worry about the license issues). Like any toolkit it has its quirks, but I've become fairly fond of it. It takes a little while to learn how to really leverage it for maximal effect, something we're quite far from doing (we have legacy design failures to excise first), but the things that can be realized with Qt are pretty astounding.

Note that it does have a few platform-specific libraries, like the D-Bus stuff.
I'm pretty fond of Qt, overall. It's certainly light years ahead of libraries like MFC. It's pretty simple to use and you can do a lot of great things with it.

The only nuance for Qt is what I think holds true for most third party libraries. It's going to provide you a wider range than what you might need: For example, Qt also gives you its own containers, string classes, XML parsing facilities, etc... Qt's facilities are pretty reasonable, but at the same time, I think it's important to be cognizant of vendor lock-in. So, for example, I only use things like QString in code that's specific to a Qt GUI. If not, I use STL string or wstring. This reduces the vendor lock-in effect.

This topic is closed to new replies.

Advertisement