Trolltech has announced the Qt 4 release candidate, the final preview of next generation Qt. The final release of Qt 4.0 is scheduled for late June until which Trolltech will focus on addressing critical stability issues only.
Trolltech has announced the Qt 4 release candidate, the final preview of next generation Qt. The final release of Qt 4.0 is scheduled for late June until which Trolltech will focus on addressing critical stability issues only.
…because most toolkits like gtk+ and qt are so slow. i’m a kde user and i’m often annoyed by the issue. it makes the gui feels so unstable. but at least qt seems faster than gtk+.
it’s kinda sad to realize that gtk+ and qt are the reason why linux on desktop dont get enought attention. most graphical applications are based on those 2 toolkits. they kinda ruin the work of developers…
Will Qt/Win be available under the GPL after all? I remember having read an announcement stating that it will, but since I can’t find the Windows version at http://ftp.trolltech.com I wonder whether Trolltech have changed their mind. Does anyone know if the Win32 sources will be available in the final version?
Glad to see that Trolltech finally has the api fully stable. This should mean that qt developers (KDE especially) can dive in fully into implimenting QT4 apps…
…because most toolkits like gtk+ and qt are so slow. i’m a kde user and i’m often annoyed by the issue. it makes the gui feels so unstable. but at least qt seems faster than gtk+.
it’s kinda sad to realize that gtk+ and qt are the reason why linux on desktop dont get enought attention. most graphical applications are based on those 2 toolkits. they kinda ruin the work of developers…
Qt and Gtk are slow? I don’t think this is a problem of Linux on desktop. My KDE 3.4 and Gnome 2.8 are pretty fast on my Duron 950, not slower than Windows.
…because most toolkits like gtk+ and qt are so slow. i’m a kde user and i’m often annoyed by the issue. it makes the gui feels so unstable. but at least qt seems faster than gtk+.
it’s kinda sad to realize that gtk+ and qt are the reason why linux on desktop dont get enought attention. most graphical applications are based on those 2 toolkits. they kinda ruin the work of developers..
You, sir, get an A+ for cluelessness.
First off, Qt isn’t a “toolkit” per se, it’s an application framework. Quite different. Qt includes everything from Threading support to SQL support, not just drawing windows.
Secondarily, slow != unstable. And Qt is not “unstable” or “slow”. You can make extremely fast applications in Qt. I do all the time. KDE is huge though and takes tons of (wonderful!) programmers to make. If KDE is slow or “unstable”, it is the KDE developers that are most likely to blame, not Qt.
Thirdly, it is silly to say that “qt is the reason linux on the desktop” doesn’t get any attention. Stupid. Qt is a great application framework, complete with GUI designer and internationalization support. Great by comparison with ANY other framework, even MS.
> Will Qt/Win be available under the GPL after all?
Didn’t you read the announcement? Quote: “Qt/Windows will be available under the GPL license at Qt 4 launch.”
…because most toolkits like gtk+ and qt are so slow. i’m a kde user and i’m often annoyed by the issue. it makes the gui feels so unstable. but at least qt seems faster than gtk+.
it’s kinda sad to realize that gtk+ and qt are the reason why linux on desktop dont get enought attention. most graphical applications are based on those 2 toolkits. they kinda ruin the work of developers…
I have to call BS on this I’m afraid. I develop commercial software for over 7 platforms (including Windows) with Qt3 and it is _not_ slow. Any ‘observations’ of speed issues that you may have observed are probably in the KDE layer.
[Incidentally, the current Qt4 beta is quite slow, but I’m expecting major improvements before the release.]
The new Qt4 is a lot of new stuff… much of which does not appear all the way designed or cooked enough yet.
By the time Qt5 rolls around, it will likely be pretty good. It usually takes Trolltech a full release to implement the depth of features and not just the breadth. And to gain the understanding necessary to redo the API’s to make them “nice to use”.
This is not a knock on Trolltech. Qt is a fine C++ framework. But it is very complex and it takes a long time to build good C++ frameworks.
I’m more optimistic. I’ll give them until Qt 4.1
> much of which does not appear all the way designed or cooked enough yet.
Examples?
> And to gain the understanding necessary to redo the API’s to make them “nice to use”.
What makes you think that Qt4 doesn’t practice what Trolltech learned about APIs and framework during whole Qt3 lifetime years?
When comes to non-native drawn toolkits (gtk, qt, awt) JUCE is by far my favourite: http://rawmaterialsoftware.com/juce – it’s just slick looking from outside (widgets) and inside (the C++ code framework).
A few things for the moment. It would take a lot of time to go into all the details. One could write a whole book on the issues with the Qt API’s.
One, the data model stuff does not handle many real world situations. It is more for simple demos and such.
Two, the situation with iterators has to be cleaned up. How many iterators and collection classes are there now…??? Why???
Three, a lot of the API’s are taken from Java and then semi-ported to C++. They end up not working really well for C++ and do not implement all the Java functionality. It takes Trolltech a while to flesh out their Java-port API’s, most often a full release cycle.
Four, the database drivers and code from 3.3 were way behind the times. There are new drivers in 4.0 but they will probably take a full release to be debugged.
Five, the Qt library’s widgets are 3-5 years old in their design. They need to port a bunch of the KDE widgets back to Qt and make them “nice”.
That’s all the typing I’m doing on this one. It is an incredible amount of work to make a good C++ framework. And Trolltech has done it. Qt 3.X was good for its time. I think Qt 5.X will be good for its time and that Qt 4.X will be a stepping stone towards making Qt better.
> One, the data model stuff does not handle many real
> world situations. It is more for simple demos and such.
Did you really look at that stuff? It is amazing what you can do and I haven’t seen a more powerful MVC system yet. And it is lightning fast, you can display millions of items in no time.
> Two, the situation with iterators has to be cleaned up.
> How many iterators and collection classes are
> there now…??? Why???
Well, start programming and you’ll see. There are less container classes than in the STL, and exactly two iterators, the STL ones for STL fans and the Java iterators that are friendlier to newbies (easiert to delete items, easier to traverse backwards). Besides, the new containers are lightning fast and implicitely shared.
> Three, a lot of the API’s are taken from Java and then
> semi-ported to C++.
??? I’ve yet to find an super-overdesigned Java API in Qt.
> There are new drivers in 4.0 but they will probably take
> a full release to be debugged.
I’ve read the snapshot lists and people were using them quite successfully.
My biggest complaint is that I hate Qt Designer 4.0, I much prefer the version that came with 3.2…
Yes, I hated too the first preview versions. But.. it has improved A LOT since then.
http://qt4.digitalfanatics.org/articles/des2.html
<em>My biggest complaint is that I hate Qt Designer 4.0, I much prefer the version that came with 3.2…</em>
Hear, hear. I’ve just downloaded it for my Mac, and I’m not sure how you’re supposed to design main windows given that they usually have menus. Designing actions and menus is easily the most tedious part of hand-coding a GUI app. Why don’t they provide a menu editor to automate this process, as with Qt3 Designer?
Last time I checked the Qt4 MVC, the data model would not handle more than one table without hacking the “MVC”. And once you start having to tweak the MVC, the utility drops off rapidly.
And when you look at the “V” part of MVC, Qt’s lack of modern widgets really makes the whole thing pointless anyway.
As a SQL server can mostly not handle a table with a million rows, I wonder how this “million item” testing was done. Is this with a million real items or fake virtual items? If it is a real table, is it a demo table with a few columns or a more fleshed out production table? And were these real items put in a real world usage situation or just “display the first chunk and scroll around a little bit”?
Why would I take the iterator code I’ve already written and debugged and move it to a port of the Java iterators? STL is pretty much the _C++_ standard. Are the Java iterators implemented to ease compatibility with an upcoming Qt for Java?? Instead of speeding up the other iterators, an entire new system of iterators was built?
What I meant about the Qt Java API’s is that they are almost always *an arbitrary subset* of the Java API they were modeled on. So lots of functionality is missing. And Java never really maps to C++ that well, so the developer is left with something that is “not Java” and “not C++”. I’d be happy if Trolltech implemented all the Java API’s in C++ and did everything Java style. Or did it all C++ style. But a strange subset mix of the two has shown itself mostly to be a headache and forcing the developer to write a lot more code vs. either of the other two approaches.
Anyway, maybe Qt 4.X or more likely Qt 5 will be caught up to the mainstream. Or maybe not. We are likely going to wait for Qt5 to see if Qt has a chance at being a professional framework or if it is just really going to stay “KDE–“.
Since Qt obviously are a professional framework, I don’t give much weight to your comments. But out of curiosity, you have stated twice “Qt’s lack of modern widgets”. Since you are such an expert, can you explain what kind of modern widgets Qt lack?
Look at the number of widgets available for .NET. And then compare that to what ships with Qt. There are many times as widgets for .NET vs. Qt.
And then look at the functionality you get. The capabilities of modern .NET widgets make Qt’s widgets look positively stone age.
We took one of our Qt apps that took many months to develop and ported it to .NET in under a month. And it is a much nicer app. Of course it doesn’t run cross-platform anymore, but once Mono is farther along it will. The productivity of .NET is far beyond C++/Qt.
When you look at “apps built” even something like .NET is in use in many more professional companies vs. Qt. You may not like that I point out facts, but Qt is not professional. It is more academic/hacker than it is professional.
My personal belief is that Qt is likely going to end up a mobile phone platform and Trolltech will have to (fully) open source the desktop stuff so KDE doesn’t die on the vine.
> Look at the number of widgets available for .NET. And then
> compare that to what ships with Qt. There are many times as
> widgets for .NET vs. Qt.
Maybe you should try being specific. I am certain that it would be a welcome change from your incessent vague generalizations.
> And then look at the functionality you get. The
> capabilities of modern .NET widgets make Qt’s widgets
> look positively stone age.
Let’s be specific. Show me the widgets.
> We took one of our Qt apps that took many months to
> develop and ported it to .NET in under a month.
Sounds like it doesn’t do much.
> You may not like that I point out facts, but Qt is not
> professional. It is more academic/hacker than it is
> professional.
Qt is built by a company by paid professionals and is used by numerous businesses. How much more professional is it going to get?
> My personal belief is that Qt is likely going to end up a
> mobile phone platform and Trolltech will have to (fully)
> open source the desktop stuff so KDE doesn’t die on the
> vine.
Qt is released under the GPL. How much more open source is it going to get?
I can’t wait until I can get a GPL version for Windows again, I love Qt and use it all the time in Linux but I want to be able to run my apps in Windows too since I use both and I can’t afford a commercial license.
I hope one of the later moves Trolltech makes is to come up with a license for freelance/learning programmers that don’t have deep pockets like companies do, I would love to be able to write commercial software with Qt once I learn enough.
I agree with Onion, the original post calling Qt slow was BS. I’ve used Qt in Linux and Windows, and on both platforms its as fast as the native toolkits. If there is a speed difference between Qt and native toolkits its so small you’d have to be running an original pentium or even a 486 before you’d notice.
Qt 4 may be slow, Onion said so and I can believe it, but it must be kept in mind that Qt 4 is still a pre-release and as such will still have bugs and speed issues to work out.
KDE isn’t slow when you consider all that it does, its a Desktop Environment and not just a simple Window Manager, in order to get the same speed as XFCE, IceWM or Enlightenment it would have to be seriously stripped down.
If there were only one desktop environemt in Linux then I imagine KDE could be preloaded and then it would seem to start up almost immediately after login just like Windows does; however, because there are other desktop environments in Linux this isn’t done for any of them so memory and processor time isn’t wasted preloading a window manager you might not want to use.
> You may not like that I point out facts, but Qt is not
> professional. It is more academic/hacker than it is
> professional.
Two things:
1. Stop trolling on OSNews
2. Get some real facts: http://www.trolltech.com/company/customers.html?cid=32
You don’t get customers like that with academic/hacker tools.
I didn’t say “no one ever bought Qt”. But if you look at the APPS page instead of the customer page, you will see a lot of hacker/academia/research stuff. I would guess most customers who have bought Qt have it sitting on a dusty shelf.
http://www.trolltech.com/products/hotnew/index.html?cid=20
And if you go back in the apps archives, you will see endless research/academic apps.
Mainstream programming frameworks/systems such as Java and .NET/Mono have captured the mindshare that Qt (due to its focus on research/academia/hacker stuff) has largely missed. There are great native toolsets arising that will never be in the Qt world.
Give it 2-3 years and we will see what happens to Qt. As each native platform evolves, there really will be no point in having cross-platform as it will not be a good solution. Instead, we will see much narrower cross-platform code and more native code.
Unless Qt makes the jump to .NET/Mono/Java, it will lose out on the desktop of the future and be consigned to Linux only.
Which I do not think would be a bad thing. If Qt were the hands down best LINUX app framework (vs. cross-platform), I would be much more interested.
Or if Qt went to .NET (or maybe Java) that would also be interesting.
P.S. the comment on ‘stop trolling’ on Qt… ๐ all people do is troll on Qt, whether it is on OSNews or not!
>I would guess most customers who have bought Qt have it sitting on a dusty shelf.
For having Qt sitting on a shelf they seem to be pretty enthusiastic…
http://www.trolltech.com/newsroom/announcements/00000204.html
>And if you go back in the apps archives, you will see endless research/academic apps.
So lets see…
…Skype, I must say a very academic app…
…Adobe Photoshop Album, yes I just see all the researchers using that to store their holliday pictures…
….STBus GenKit GUI, internal tool for cross-platform Electronic Design Automation for one of the world’s largest semiconductor companies….Japp…pure academic…
Well, and the rest I must say seem to be pretty interesting apps too…
>There are great native toolsets arising that will never be in the Qt world.
You still have not provided any examples…so what is so great about those “native toolsets”?
>As each native platform evolves, there really will be no point in having cross-platform as it will not be a good solution.
So what you say is you rather code for each platform, duplicating a lot of work? Having multiple the amount of Threading, GUI, File etc stuff in your source tree?
Or what you say is that you rather stick to one platform?
By the way…what do you think is the native platform for Linux/X11?
And if you answer would be GTK, sorry…its about as native as Qt.
>Unless Qt makes the jump to .NET/Mono/Java..
Why? I do not see a reason why Qt should jump onto some hype bandwagon. Is there any reason to do other than…”but everybody is doing it?” (which i do not believe in the first place)
>P.S. the comment on ‘stop trolling’ on Qt… ๐ all people do is troll on Qt, whether it is on OSNews or not!
Mommy, Mommy look everybody is jumping from the bridge…i must too!
Sorry, could not resist ๐
One Question I have to ask: What did trolltech do to you that you seem to have such a grudge against them and Qt?
Just launch the deform demo and see vector based transformation run at 20 fps on unaccelerated X11. What more do you want? Try that with any other X11 toolkit. Then run a GUI in valgrind, see how many cache misses and allocations it has. Compare to other toolkits. Qt is simply the fastest drawing and best memory optimized toolkits on the market.
>Last time I checked the Qt4 MVC, the data model would not handle more than
>one table without hacking the “MVC”. And once you start having to tweak the
>MVC, the utility drops off rapidly.
The MVC is designed as a tree of tables. The database models feature releations. You can put any arbitrary SQL query in there, so you can select from as many tables as you like.
MVC is not about databases. Create an in-memory tree model with 10.000 items that have 10.000 branches. Scroll. Faaaaast. (or try the interview demo, it does exactly that).
As for the Java iterators: They are a new concept introduced to make transition for java programmers easier and are more newbie-friendly. They are not designed to be 100% compatible. The Java iterators live next to the STL iterators, no one is telling you which one to use, it’s simply a preference. Since they are all templates, they are only instanciated when needed. You choose.
“Give it 2-3 years and we will see what happens to Qt. As each native platform evolves, there really will be no point in having cross-platform as it will not be a good solution. Instead, we will see much narrower cross-platform code and more native code.”
Ha!
Sorry man, your arguments lost all credibility right there.
Just for the record, Qt compiles into native binaries for each platform, and Qt uses native graphics primitives, sound and network APIs for drawing its widgets, playing sounds and getting network/internet access.
Qt may be missing some of the extras that cannot be implemented without throwing the idea of portable code out the window, such as little system tray icons like one might see near the clock in Windows, but aside from that it isn’t lacking anything, be it widgets, speed or ease of use. In many cases I think Qt could easily beat the speed of the native toolkits, and its very well designed, complete and easy to learn and use as well. I’ve looked at several toolkits and tried to use them, that includes MFC and wxWidgets and I would have to say that Qt is by far the best I’ve ever used.
The only problem I find in Qt is that it is very expensive to develop proprietary software with it. Maybe not for the typical USA company, but *many* others in the rest of the world are too cash-strapped to fork a couple thousand dollars per programmmer for the Qt license.
So in fact I don’t find an issue with freedom, but rather with price. It truly cannot go any more free than GPL, and it is only fair that Trolltech earn money from their product when it is being used in products that are being sold for profit; I only wish it were cheaper. Well, not only, I do wish it were LGPL, but I understand why it is not.
The only problem I find in Qt is that it is very expensive to develop proprietary software with it.
I don’t. The great thing is you can learn Qt very easily (and it will get even easier with the GPL Windows version – no timeouts or restrictions), and when you’ve got to a point where you want to go into business and sell something you can easily pay for licenses. The amount people pay for Java IDEs, web app servers and all the other stuff makes a Qt license look like nothing. Plus remember that people will be developing free software (office suites, desktop environments etc.) with Qt that you would have to pay quite a bit more for in the proprietary world. It more than balances itself out.
> Maybe not for the typical USA company, but *many* others
> in the rest of the world are too cash-strapped to fork
> a couple thousand dollars per programmmer for the
> Qt license.
Trolltech has special offerings for these scenarios. Just ask their sales people about it.