QT Application Framework
QT Application Framework
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
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
Re: QT Application Framework
QT is not C but C++.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.
For what targets? And what is the nature of the application?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?
Is it really an application framework, or more a small client (e.g. bundled with hardware) ?
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).
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).
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.
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.
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 :)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).
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.
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.
-
- Posts: 5494
- Joined: Sep 12, 2005 20:06
- Location: California
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.
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.
Why use Gtk on Windows? You can but I much prefer native Windows DisplayAave 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).
The wxWidget library is "MUCH" more than just display widgets. It has a very rich feature set.
James
That's one thing falling under the "barely cross-platform" umbrella.jcfuller wrote: Why use Gtk on Windows? You can but I much prefer native Windows Display
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).jcfuller wrote: The wxWidget library is "MUCH" more than just display widgets. It has a very rich feature set.
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.Aave wrote:That's one thing falling under the "barely cross-platform" umbrella.jcfuller wrote: Why use Gtk on Windows? You can but I much prefer native Windows Display
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.
Say what?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.
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...
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 :)
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 :)