In-Depth With Qt 4.4
QtPi writes "Trolltech has announced the availability of Qt 4.4, the cross-platform software development framework. Ars Technica has an in-depth look at the release, which include an integrated WebKit-based HTML rendering engine, the new Phonon multimedia framework, support for Windows CE, and significant improvements to the QGraphicsView system. 'Qt 4.4 brings a lot of rich new capabilities to the toolkit that are sure to please open source and commercial software developers. It sounds like Trolltech already has some nice plans for Qt 4.5, and we will hopefully get to hear more about the long-term roadmap after Nokia completes its acquisition.'"
Graphics View alone is an extremely powerful tool - now it seems to be able to do things no other toolkit comes even close to. I can't wait to use 4.4 in an application I'm developing right now (a game map editor), this feature will allow me to make some parts of the user interface a whole lot simpler and more intuitive, throwing away a bunch of docks and toolbars in favor of a more interactive workspace.
This is Slashdot. Common sense is futile. You will be modded down.
Vladimir just posted about working more on Qt for Firefox - http://blog.vlad1.com/2008/05/06/well-isnt-that-qt/ - the more devs that can help, the quicker this will happen.
bullcrap. name a platform qt works on that wx or gtk doesn't? i admit gtk looks crappy on some, but wx looks native on all of them AND provides a shit load of default widgets
If you mod me down, I will become more powerful than you can imagine....
The ZSNES developers for one prefer how Qt works and R. Belmont (of MAMEdev fame) also stated that the only reason he used GTK+ on the Linux port of Audio Overload was because various portions of the code weren't compatible with the GPL. If they had been, he'd have used Qt instead. I also prefer Qt, hence why I use KDE in preference to anything else and why I view the possibility of Mozilla using Qt with some excitement.
I'd go as far as to say that GTK+'s 'killer feature' these days is the licence. The fact that it uses the LGPL as opposed to the GPL and was open sourced well before Qt is why it's remained so popular. In most other respects, Qt is the better toolkit.
It looks quasi-native.
How we know is more important than what we know.
It was Keyhole's engineers that made that decision, not Google's.
GTK looks terrible on Windows and Mac and doesn't even warrant consideration unless you're developing strictly for Linux or BSD. Further, GTK and WX are both lacking a ton of features that are found in modern toolkits like Cocoa or QT.
http://www.iol.ie/~locka/mozilla/mozilla.htm
Wine uses it. It's as standards-compliant as Gecko, which is probably enough for you (unless it's an evangelical thing)
In any case, it's better than Internet Explorer's ActiveX (where standards are concerned)
NOTE: That link's a bit old, but should be more than adequate.
I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
Why are you comparing Wx or GTK to Qt? Does either of those have platform independent threading, sockets, etc?
As far as UI design, wake me up when either of those has anything even remotely competetive to QtDesigner.
I was pretty excited about the Windows Mobile support in this, until I downloaded it, read the FAQ, and discovered that you have to have the Windows Mobile SDK installed to use it. While the SDK is free to download, you must have Visual Studio (not an Express version) to install it, so developing mobile applications is still going to cost you at least a few hundred dollars.
So, just a heads up to anybody else who's interested: Don't bother with it unless you have Visual Studio Professional 2005 or later.
Karma: Terrifying (mostly affected by atrocities you've committed)
Yes.
http://library.gnome.org/devel/glib/stable/glib-Threads.html
http://library.gnome.org/devel/glib/stable/glib-IO-Channels.html
Granted, Glade is vastly inferior QtDesigner, but such is life.
I am not sure but reading your post it seems you are under the belief Qt is licensed per application.
The Qt licensing model is that you a license fee per developer, depending on the number of platforms you want to target.
One of the key values Qt brings is the single codebase / multiple platform way of developing.
If you wanted to port a rich client application to Linux and Mac OS/X you would not be able to use your MSDN subscription for much, whereas with Qt you would recompile your app. You would have to be extremely fast and/or have a very low hourly cost not to save money on this relative to doing a rewrite / port / multiple codebase approach (for any non-trivial application).
Huh? A Qt license is expensive, but once you have it you can create all the Qt apps you want. At least, that's what my Qt license says. I think you have been misinformed.
But, per application, recurring per year, its expensive
Again, there is no "per application" charge. The "per year" charge is if you want support -- if you don't want/need support, just buy the Qt license and don't renew it after a year. You'll still be able to use the version you bought indefinitely.
And should we port to Linux and Mac OS/X, our licensing fees for MSDN would be £453 (approx $1116) and our Qt fees would be $126,000).
Are you talking about porting a
I don't care if it's 90,000 hectares. That lake was not my doing.
A number of possible answers, with varying degrees of importance/truth depending on your opinions:
- Because QT is cross platform.
- Perhaps it saves enough development effort over the MS stuff that it is worth the cost.
- It has a GPL version on all the major desktop platforms, so fully OSS apps are possible
- Is compiled instead of interpreted
There are probably lots more differences between the platforms that I missed as well. Not all of them would favour QT. Depends what you're looking for I guess.
But it isn't surprising that QT is popular with much of the Slashdot crowd, since it is GPL and supports non-Windows platforms. So I'm not sure why one would even have to ask why people here prefer QT over MSDN and Visual Studio.
I haven't been on Redhat in awhile, so maybe it's still an issue there. I remember RPM being a bitch, but I haven't used RPM since 2002. On Ubuntu, I have exactly one version of libqt-mt installed, and it weighs in at about 11 megs. And because this is Kubuntu, it's installed already.
Don't thank God, thank a doctor!
Actually, in Qt we have a mandate for backwards binary compatibility. Only if it's an absolute necessity is binary compatibility broken, and I honestly can't think of a single time in the 4.x stream of code that we have done that. So, your "framework hell" argument is moot. Only the latest version of Qt is "needed", and should support all applications compiled for previous revisions of Qt4.
Gtk+ does GUI and threading, but wxWidgets is a complete application framework with networking, filehandling and a whole lot more abstracted. Plugin libraries exist for both to extend them, and I'm sure there is at least some basic file abstraction in Glib (which is required by Gtk+).
Licensing aside, I rate Qt and wx about the same in features. They both seem to get the native look on OS X, and wxWidgets takes on the Gtk+ theme on X (which is an engine using the KDE theme).
The problem is not the look, it's the feel. It is the way the toolbars work, dialog boxes, etc. It is the way all the pieces fit together to provide a user interface. Qt is impressive but it is not native.
Cocoa and Carbon are actually the same thing. Just different APIs used to access the same elements. Qt adds yet another API which is fine but there is no real difference in Qt using Cocoa vs. Carbon. Ok, there is one difference. Carbon will never be 64bit so if Qt wants to be 64bit native then they will have to utilize Cocoa. This is likely why the Qt engineers are looking into Cocoa.
WillyAnyway, Qt is pretty much the only reasonable choice for cross-platform C++ development, and a very strong contender even if you're going to stick to one platform only. It's got great documentation, and the development tools are very nice; particularly now with Eclipse integration of their form designer, there's finally something in the Linux land that can compete with Visual Studio in terms of UI development. Of course, on Windows, you can have VS integration, which is the best of both worlds... ;)
IIRC, you always could do signals/slots programmatically - after all, moc is not some kind of magic, it just generates all the boilerplate C++ code. It's not exactly convenient, though (not like e.g. boost::signal), precisely because it's not intended to be used manually.
But ignoring that, KDE4 will run on a system with 512MB RAM, and my PC 5 years ago had that. 1GB of RAM, even old DDR 1, won't cost much if you need to upgrade.
If you're on an older machine still, maybe you should change job or something.
I like C++ GUI Programming with Qt 4 very much. Details here http://troll.no/developer/books/2
Yeah, that's right because the whatever version of the .NET framework is freaking tiny at 30MB+
That 15MB in today's world is like 64 bytes was in the PDP-11 world. In fact it's even less since if you don't use all 15MB it isn't going to be mapped into memory. In the PDP-11 world, there was no virtual memory.
Computers have gotten faster. The problem is that user expectations have risen at an even faster rate. 30 years ago, a "Cash flow projection" was a report generated in batch once a day. Today it's an on-demand drill down into a database allowing multiple what-if scenarios.
Without the 2nd Amendment, the others are just suggestions.
You don't have to use C++, you know. There's PyQt, for example.
I don't have a sig.
I recommend using QDevelop with the free version of Qt, it's coming along quite nicely, and makes the whole experience quite nice to use with the mingw32 compiler. I've not kept up with the state of free/msvc integration, but yes, you won't get all the niceties of help file/designer/auto-moc'ing that vs integration gives you with devstudio express. The reason for that is because microsoft doesn't allow extensions to be loaded into it, which is how the vs integration stuff works.