QT Application Framework

General discussion for topics related to the FreeBASIC project or its community.
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

QT Application Framework

Post by vdecampo »

I need some opinions on the QT App Framework.

My job is considering using it combined with a cross platform generic C going forward for our development. This sucks for me because I like to use FB. Has anyone had any experience using QT and what is your opinion on it's versatility for making cross platform apps?

-Vince
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: QT Application Framework

Post by marcov »

vdecampo wrote:I need some opinions on the QT App Framework.

My job is considering using it combined with a cross platform generic C going forward for our development.
QT is not C but C++.
This sucks for me because I like to use FB. Has anyone had any experience using QT and what is your opinion on it's versatility for making cross platform apps?
For what targets? And what is the nature of the application?

Is it really an application framework, or more a small client (e.g. bundled with hardware) ?
TJF
Posts: 3809
Joined: Dec 06, 2009 22:27
Location: N47°, E15°
Contact:

Post by TJF »

With QT-Creator it is usable.

You can create cross-platform GUI apps pretty fast, if you use the prepared classes (like Stueber started with his FBIde).

When you come to a point where you need to customize anything, it gets really hard. You'll find lots of info but nothing you're looking for. It's pretty time consuming to get little changes in the same quality as your existing code. (I guess Stueber came to that point as well and he paused the project meanwhile for 10 month or so.)

That's why I don't like QT. As a beginner (and you'll be a beginner for 3 years at least) you cannot estimate the time needed to finish any project (high-quality/costumised).

Or in other words: there is no fun-factor at the beginning (- I don't know about the time after).


BTW: Does anybody know about QTs future? It seems that Nokia made some contracts with m$ and they wont support cross-platform SDKs (after grapping the know-how).
Stueber
Posts: 46
Joined: Nov 22, 2009 16:20

Post by Stueber »

No, I don't came to this point, I just had no time to do anything on any project of mine. (Abitur takes a looooot of time...)
But your right, the future of Qt doesn't look very nice. As far as I know, Nokia plans to make Qt the primary library for Meego (which doesn't seems to have a great future too), I don't know how the desktop support will change.
Anyway, I think Qt is currently the very best cross-platform toolkit, for any purpose. It is much better integrated in each platform than GTK and supports things like network, xml or core-features platform independent.
AGS
Posts: 1284
Joined: Sep 25, 2007 0:26
Location: the Netherlands

Post by AGS »

Abitur
Abitur (from Latin abeo = leave, go off) is a designation used in Germany, Finland and Estonia for final exams that pupils take at the end of their secondary education, usually after 12 or 13 years of schooling (see also for Germany: Abitur after twelve years).
It is better to finish an education than to finish a fb project. The best of luck with your exams, Stueber. And think about fb every now and then while you are attending university :)
jcfuller
Posts: 325
Joined: Sep 03, 2007 18:40

Post by jcfuller »

As was stated qt is c++ and it's future is ?? now that nokia is bed partners with ms.

I use wxWidgets with my cross platform version of bcx (ubx) but it is also c++

James
Aave
Posts: 128
Joined: Jun 13, 2008 19:55
Location: Helsinki, Finland

Post by Aave »

At the beginning of this year I was hired to develop a GUI app in two months. We decided to go with Qt (a co-worker's opinion was that wxWidgets is total crap and GTK+ is just barely cross-platform) and during that project I learned it pretty much from zero and was able to complete the task (I think I'm fairly good C++ programmer though).

My main concern with it was the use of custom code generator ("Meta Object Compiler"), but once it was set up, everything went smoothly and I pretty much forget about it. I think Qt's multimedia part is it's weakest link, though it should be improved greatly once they sort out what API they want to use with it.

Qt Creator is an excellent C++ IDE, I use it also for non-Qt C++ projects. It has great many features, it's lightweight, fast and small download (what cannot be said from e.g. Visual Studio...).

As for Nokia jumping to MS ship, Qt is not going anywhere. It is the fundamental part of e.g. K Desktop Environment, which is a big name in the Linux world. Also, the rising port of Qt for Android makes developing C++ apps (instead of Java) for Android a pleasure.

Qt is not perfect, but it is in my opinion the best cross-platform GUI application framework.
anonymous1337
Posts: 5494
Joined: Sep 12, 2005 20:06
Location: California

Post by anonymous1337 »

I've heard a lot of good things about Qt. But its lure is in cross-platform development, which many applications don't have to worry about.

My advice? Perform analysis and ask yourself if you really want to be cross-platform, then use the tool that suits you best, not just something you think is cool.

Take a week or two to install and prototype in each development environment available to you. From there, weigh the pros and cons and make your preference. Qt has a lot to offer. It might be your best bet, but keep in mind that your time is valuable.
jcfuller
Posts: 325
Joined: Sep 03, 2007 18:40

Post by jcfuller »

Aave wrote:At the beginning of this year I was hired to develop a GUI app in two months. We decided to go with Qt (a co-worker's opinion was that wxWidgets is total crap and GTK+ is just barely cross-platform) and during that project I learned it pretty much from zero and was able to complete the task (I think I'm fairly good C++ programmer though).
Why use Gtk on Windows? You can but I much prefer native Windows Display

The wxWidget library is "MUCH" more than just display widgets. It has a very rich feature set.

James
vdecampo
Posts: 2992
Joined: Aug 07, 2007 23:20
Location: Maryland, USA
Contact:

Post by vdecampo »

Thank you all for your posts. It has given me much more to think about and to consider.

-Vince
Aave
Posts: 128
Joined: Jun 13, 2008 19:55
Location: Helsinki, Finland

Post by Aave »

jcfuller wrote: Why use Gtk on Windows? You can but I much prefer native Windows Display
That's one thing falling under the "barely cross-platform" umbrella.
jcfuller wrote: The wxWidget library is "MUCH" more than just display widgets. It has a very rich feature set.
I cannot really comment on wxWidgets as I don't know much about it, but browsing through the website reveals similar modules as Qt (not as many though). I also know that wx uses platform's native widgets for drawing to get the native look. Qt also does this (on some platforms "the native widgets" are actually Qt, e.g. on Meego).
cha0s
Site Admin
Posts: 5319
Joined: May 27, 2005 6:42
Location: USA
Contact:

Post by cha0s »

I personally love Qt and think it's a great library. I have been worried as others about the MS partnership and I haven't kept up on what this means for the library in practical terms.

There is a learning curve with signals, slots, Q_OBJECT and the moc, but once you get it it's beautiful.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Post by marcov »

Aave wrote:
jcfuller wrote: Why use Gtk on Windows? You can but I much prefer native Windows Display
That's one thing falling under the "barely cross-platform" umbrella.
GTK is so unnative on Windows (specially if the code is not hand tweaked with platform dependent code to improve the look and feel), one might regard such apps as an unix emulation too. And on OS X it is hardly better.

While QT is slightly better, specially on OS X, it has the C++ barrier, probably because it uses more native widgets.

I don't share the QT doom scenario's btw, QT survived just fine under Trolltech before Nokia, and demand from embedded devices manufacturers (their main potential clients) is higher then ever, so I wouldn't discount it yet.

So if you are serious about either Windows (and to a lesser degree OS X), you will need native UIs, and not lowest common denominator portability like GTK.

The problem with wxwidget is that it doesn't have a "home" platform. It is not native anywhere. I therefore never seriously considered it.
fsw
Posts: 260
Joined: May 27, 2005 6:02

Post by fsw »

marcov wrote:The problem with wxwidget is that it doesn't have a "home" platform. It is not native anywhere. I therefore never seriously considered it.
Say what?

Not exactly sure what you mean by that, but IMHO not being native anywhere. but to be able "to merge" with the gui system that is native to the os is what a gui framework should do. Otherwise to the user it will always "feel" like a bunion...
fsw
Posts: 260
Joined: May 27, 2005 6:02

Post by fsw »

In regards of QT:
QT is used, not for it's simplicity (because it's not) or because it's "soo goood" but because it's a Application framework and not only a GUI framework; one API to cover multiple areas (GUI/ODBC/SOCKETS/etc.) on different operating systems.

...as long you can live with the additional footprint :)
Post Reply