In-Depth With Qt 4.4 253
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.'"
Widgets in QGraphicsView look *really* promising (Score:5, Informative)
Re:Widgets in QGraphicsView look *really* promisin (Score:3, Interesting)
Re: (Score:3, Insightful)
I stopped caring about Qt (Score:2, Interesting)
On Linux the libraries are now so damn big that non-KDE users wont install them.
On Windows the best development tools are moving away from C++.
On Mac it's just plain ugly.
I'm sure the embedded developers are loving it though.
Re:I stopped caring about Qt (Score:4, Insightful)
Re:I stopped caring about Qt (Score:5, Interesting)
Re: (Score:3, Informative)
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
Re: (Score:2)
Re: (Score:3, Informative)
Re: (Score:2, Interesting)
What about Google Earth? (Score:3, Interesting)
I think that google engineers have studied several tools for developing this program for multiple operating systems and decided that QT was the best toolkit
Re:What about Google Earth? (Score:4, Informative)
Re: (Score:2, Interesting)
Re: (Score:2)
Google Earth is a good example of how not to use QT! I think they went out of their way to make it look nasty. If they had just left things alone (ie: font sizes, widget styles) it would look miles better.
-- Steve
Re: (Score:3, Insightful)
Frankly, I don't see any reasonable, sincere and unbiased way of arguing that a few megabytes more is enough to dismiss a toolkit completely.
As for the Windows development problem, Visual Studio 2008 which is hailed even on Slashdot as the best (or at least one of the best) Windows IDE out there supports C++ just as well as other languages. So what did you
Re: (Score:2)
Re:I stopped caring about Qt (Score:4, Insightful)
Re: (Score:2)
* In rough terms, a tradition
Re:I stopped caring about Qt (Score:5, Interesting)
Re:I stopped caring about Qt (Score:4, Interesting)
While others are like me, and don't give two hoots if the app does something we want or need. I'm far more worried about the ability to paste information between apps, use of standard centralised resources such as the dictionary / thesaurus, support for drag-and-drop conventions, and Mac-style installation and removal mechanisms than whether it's a little ugly or uses a few non-standard keystrokes.
"Using an app that looks significantly out of place in an otherwise consistent UI is very annoying"
Unless of course it's from Apple, who, like MS, seem to be quite happy to break their own look-and-feel guidelines.
"I fully understand why some developers steer clear of Mac support for that very reason, but it is a reality, and it's not going away"
It will however become less significant as Apple's market share grows, because there are more and more new users who're running Windows apps on their Macs via dual-boot or virtualisation, and they're a lot less Mac-like than QT-based ports (even Java stuff is more Mac-like than software written specifically for Windows).
Re: (Score:3, Insightful)
No Windows user is going to not use your app because C++ is out of fashion on that platform. Only the dumbest Linux users would do something like that.
Re: (Score:3, Informative)
Anyway, Qt is pretty much the only reasonable choice for cross-platform C++ development, and a very strong contender even if you're g
Re: (Score:3, Insightful)
On Linux the libraries are now so damn big that non-KDE users wont install them.
I take it you run no Java apps at all then? One of those suck down way more than Qt does. Plus it's modular so you can take your pick, but if you want a core + ui + network + sql + xml + svg + unit test + opengl framework yeah it adds up. I think you get a lot more than GTK does though. And seriously, even with all of them you're talking 10-15MB in a world where 4GB DDR2 costs 60-65$.
On Windows the best development tools are moving away from C++.
We'll see, C++ certainly isn't going away fast. The tools are good and there's plenty developers so I wouldn't worry about
This mobo doesn't take 4 GB, you insensitive clod! (Score:2)
Re:This mobo doesn't take 4 GB, you insensitive cl (Score:2, Informative)
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.
Re: (Score:2)
Appearance is important, but more important is behavior. Most if not all cross-platform toolkits get a LOT of basic behaviors completely wrong, including Firefox. (Disclaimer: haven't been a heavy OS X user in about a year.)
For example, position the text cursor at the bottom of a multi-line text field, then hit the down arrow. What happens on Windows? What happens on
Re:I stopped caring about Qt (Score:5, Insightful)
That's ridiculous. Only the hardcore GTK purists won't install qt libs. No one else will ever know or care. You can never please those fanatics. If you use GTK you will have the same problem with hardcore Qt purists. You can safely ignore those idiots.
>> On Windows the best development tools are moving away from C++.
As others have mentioned, that's not the case at all. Visual Studio has excellent C++ support in its latest versions, and there are lots of decent free alternatives (Eclipse CDT, dedicated stuff like QDevelop).
>> On Mac it's just plain ugly.
I can't say much about that since I don't use a mac, but some other people have mentioned that they didn't even notice the difference on some Qt using apps. Once again I doubt it's an issue for anyone except the hardcore purists.
And what's the alternative? Write a custom UI for each platform? Maybe if you have resources to burn, but these days it's just a huge waste.
Re: (Score:2, Interesting)
Honestly I used to run Gnome a long, long time ago, and avoided installing anything Qt-related because of how big it looked. Then I looked at the hundred or so separate libraries needed to run the bland windows 3.1 clone on my screen and I realised I had it completely backwards.
Re: (Score:2)
Re:I stopped caring about Qt (Score:4, Funny)
I think you meant that:
On Windows the majority of tools who think they are developers are moving away from C++.
Re: (Score:2)
The
Re: (Score:2)
Re:I stopped caring about Qt (Score:5, Insightful)
Seriously though, it might have been a semi-valid point on Windows but on Linux where he used it it's complete nonsense.
Re:Framework hell (Score:5, Informative)
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.
Re: (Score:2)
You linked to "dependency hell", which is a solved problem -- see package managers.
Windows XP Professional has a package format, called .msi, but it doesn't have a package manager to speak of. Nor does the operating system have a package repository, apart from Windows components provided by Microsoft through the Windows install disc or Windows Update. Windows users prefer to download a single .msi file and run it. So how should a developer package downloadable Windows binaries: as a single installer that installs both Qt and the application and takes a long time to download in less-than-
Re:Framework hell (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Excellent (Score:5, Interesting)
Reinventing Wheels (Score:2, Interesting)
Userspace Soundserver developer: Hey, since the Kernel guys can't provide autosense and switching and networked audio, let's abstract it.
Multimedia Framework developer: Hey, because one multimedia backend isn't enough, and isn't portable across OSes, let's abstract it and make it support many different sound servers.
Phonon developer: Hey, because one abstraction's not enough, let's abstract it again!
At this point, you have to wond
Re: (Score:2)
Re:Excellent (Score:4, Insightful)
Re: (Score:2)
Help get Qt working in Firefox (Score:5, Informative)
ActiveX WebKit (Score:3, Interesting)
As I understand it, at current ActiveQT is only available under the paid licenses, which makes it difficult to create a F/OSS Windows application that uses such a control (which I happen to want to do).
Are there any ActiveX wrappers to WebKit out there (whether using Qt or not) that are suitable for use in F/OSS projects, or - failing that - any other drop-in ways to get a standards compliant browser pane up and running?
Re: (Score:3, Informative)
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.
Re: (Score:2)
And if not, shouldn't it be incorporated into Wine? Or at least available as a package that Wine can optionally depend on?
Trolls are great :) (Score:5, Insightful)
A API that covers the purpose of glib + gobject + gio + atk + pango + cairo + gtk + gstreamer + gecko + libxml2 + goocanvas + internationalization + portability accross Unices, Mac and Windows This is splitted in several modules Core, Xml, Network, Gui, Phonon, Webkit And the main point is that you have all that in the same API with the same object design. If you never coded in Qt, try it before saying it sucks, you will see how straitforward everything is.
Signals/Slots in really a fantastic feature and massively used in Qt
Java /
I use Qt every day and I really don't think I could be as productive with WxWidgets or GTK. Maybe GTK / Vala will be the future real competitor to Qt.
Re: (Score:2)
Re: (Score:2)
On Linux, this is a non-issue, as icons are generally kept separately, and you never actually click on an executable -- you click on an icon, somewhere, which is a file which refers to the binary and the image by name.
On OS X, I don't actually know, but I suspect that the icon is in the
But on Windows, I can see this being a problem.
Oh, and there's the whole issue of not all prog
GPL leaves the definition of "aggregate" vague (Score:2)
On OS X, I don't actually know, but I suspect that the icon is in the .app bundle, which isn't technically linking.
The text of the GPL that we have to go on is as follows:
Re:Trolls are great :) (Score:4, Insightful)
I wonder how the open source purists who deplored Qt when it was clsoed source and issued jihad against the KDE community and the likes of SuSE and Mandrake for bringing closed source creep into the open source world, feel about the fact that their beloved toolkit is licensed under the "lesser" of the GPL lincences, while Qt is now GPL through and through.
The irony of history...
Re:Trolls are great :) (Score:5, Insightful)
Re: (Score:2)
You can have that [hp.com] today already.
It'll be there [open-std.org] in about a year (assuming the GCC folks will roll out an implementation of the new standard right away).
Re: (Score:3, Interesting)
Real lambda functions (not Boost's weird simulation) will be cool.
Re: (Score:2)
Re: (Score:2)
1) it does not work well with dlls. I tried it (look here: http://thread.gmane.org/gmane.comp.programming.garbage-collection.boehmgc/2016/focus=2027 [gmane.org]).
2) it provides a great opportunity for DoS attacks, as another poster says.
Re:Trolls are great :) (Score:4, Insightful)
Re: (Score:2)
Re: (Score:3, Insightful)
If you want garbage collection... (Score:2)
Re: (Score:2)
The Boost library has lambda functions. I have not used them yet, so I can't say how useful they are.
Re: (Score:3)
Comment removed (Score:5, Informative)
Re: (Score:2)
Please don't compare Qt to wxWidgets/Gtk (Score:2)
Re: (Score:3, Informative)
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).
Re: (Score:2)
KDE (Score:2)
A note on signals and slots (Score:2)
My company has purchased Qt 3.0.5 for my department, and that version comes with integration with Visual Studio 6. But VS6 is really an old dog, with many bugs both in the compiler and the IDE, and VS8 is much better. So in order to use Qt 3 with VS8 I had
Re:A note on signals and slots (Score:4, Informative)
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.
Re: (Score:3, Interesting)
I do not want to run the MOC myself, neither would I want to have to setup a build action for each file. I just want to press F5 and see my app compile. Anything else detracts from the development process.
I can't buy Qt4, my boss will not buy it.
I did signals/slots programmatically, and it's great. I studied the boilerplate code the MOC creates and simply copied it into templates. Now I don't have to use any special tools.
Another benefit from this is that I can use any function
Can anyone recommend some good books on Qt? (Score:2)
And no , I'm not going to learn online and get eyestrain and a stinking headache staring at a monitor or spend a fortune printing out an online manual. Before anyone suggests it.
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:3, Insightful)
Re:Qt still has a point? (Score:4, Informative)
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
Re: (Score:3)
Re: (Score:2)
Re: (Score:3, Informative)
http://library.gnome.org/devel/glib/stable/glib-Threads.html [gnome.org]
http://library.gnome.org/devel/glib/stable/glib-IO-Channels.html [gnome.org]
Granted, Glade is vastly inferior QtDesigner, but such is life.
Re: (Score:2)
Re:Qt still has a point? (Score:5, Informative)
The ZSNES developers for one prefer how Qt works [zsnes.com] 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 [vlad1.com] 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.
Re: (Score:2)
Opera uses Qt.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
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
Re:Why does Qt get such kudos? (Score:5, Informative)
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
Re: (Score:2)
Re: (Score:2)
I've just been browsing their website and cannot find pricing information anywhere. Everytime I find a link on their site (or on other websites) that claims to point to pricing information it resolves to a different URL on trolltech's site and that URL has no pricing information. Even the BUY page has no pricing information.
Yes, they've completely removed all pricing except on the order form after you add the order. The prices seem to go up and down a bit but here's the current price:
Qt One Platform - Windows, Desktop Edition 2630 euro
Qt Three Platforms - Win/Mac/X11, Desktop Edition 5260 euro
I suspect they're doing volume discounts like most other big companies... Pretty pricey yes, but hopefully they know what they're doing. They certainly seem to be evolving their platform at a very good pace. Remember, it's not just
Re: (Score:2)
Qt 4 really is a bloody kick-ass fantastic peace of software engineering art. Too bad its license is restricting its usage so much (it got much better recently though, when they decided to allow other OSS licenses besides the GPL and QPL). They are lea
Re: (Score:2)
If you want to sell a piece of (proprietary) software, well this is a framework that will potentially save you a lot of money. About as much or more as they're charging, they figure.
So - if you don't want to write your own graphics libraries, and don't want to go open source, but want to keep cross-platformness... you go with Qt. At least they give you the option of the dual-license, eh?
Or you could code only for Windows/Mac/Linux, write your own library, or go open sourc
Re: (Score:3, Insightful)
Let's see do a decent GUI or even server using MSDN which will go cross platform!
Speaking of licensing fees, just how many developers do you have? Is it safe to assume th
Re: (Score:2)
I'd say it's about the same level if you compare Qt to .NET. Though Qt is occasionally ahead because they really did make a lot of necessary cleanups during the move to Qt4, and thus have cleaner design in some places, which is obviously easier to document and explain.
It hardly is, except if you have a bunch of veteran hardcore C++ developers i
Re: (Score:2)
I disagree. Java seems to be the language with all the quirks. C++ is difficult to learn and use, yes, but it allows you to do so much more than Java. There are of course situations where Java is a much better tool than C++, but that's a different issue.
True, unfortunately.
For whi
Re: (Score:2)
It's simple, what C++ Hell Java released me from was replaced with a new Hell of Java's. The build are still quirky, Ant is little better than make(if at all).I haven't tried Maven, but I'm sure it has it's own little hell waiting for me. Recomp
Re:Why does Qt get such kudos? (Score:5, Informative)
- 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.
Re: (Score:2)
Re:Why does Qt get such kudos? (Score:4, Insightful)
Re: (Score:2)
I had no idea that they'd implemented the Win32 API on OS X...