“Qt 4.1.3 – the latest maintenance release to the Qt 4.1 series – is now available, incorporating numerous bug fixes and optimizations. Qtopia Core 4.1.3 has also been released to Qtopia Core customers. For detailed information, please consult the changes-4.1.3 file found in the package.”
Has anyone used Qt4 in a real application yet? If so, care to comment?
I have used Qt 4 to develop several applications, and it is a fantastic toolkit to work with. One example I created is a MapEditor for GTA San Andreas which can be found on http://www.gtagarage.com. I also use it to develop a content management system for work. It integrates nicely with Visual Studio, and a few changes can get it to recompile on a Mac (Except for the MapEditor which uses some ASM and Win32 code).
I have had one or two problems, but after reporting bugs, they where all fixed in Qt 4.1. My ownly complaint is that network sockets run rather slowly on Windows, but run full speed on Mac/Linux. I had to resort to using Windows Sockets, so presumably the Qt Event system slows networking down.
I’m working on a sequencer that uses Qt4 natively (at http://developer.berlios.de/projects/reshaked) .. it’s a pretty large app (70k loc ) and uses most of Qt features.
I havent tested 4.1.3 yet, but as for 4.1.2 , Qt4 is a pile of bugs so far. I’m having trouble in every area and from version to version something always breaks.
Amazingly, 4.0.x version releases used to work better for me than 4.1.x.. to enumerate some bugs:
-Dialogs and windowing toplevels in modal models seem broken in any other WM than KDE’s Kwin
-QWidget::scroll doesnt work anymore since 4.1.2
-Qlayout setSpacing and setMargin sometimes dont work
And many more bugs and strange behaviors that only happen in very specific situations inside my app, but not if I make testcases..
Unfortunately, thanks to Trolltech closed development model, It’s very difficult to reach a developer and explain them the trouble I am having with their product, and I dont have enough money to purchase a license and commercial support. On irc or forums all I get is people saying “oh that happens to me too!”.
Qt source code is (despite the api being nice and clean) not very easy to read or understand in a lot of cases.
So basically, I’m waiting until KDE4 is out, which means a lot of bugs in Qt will be fixed, as it happened early with Qt3 (which is now rock solid), or alternatively wait until i’m done with my app and go and fix the bugs myself.
In short, I dont think I can recommend Qt4 as for now, because it’s has an extremely buggy development process. I also stopped upgrading versions while developing because I’m tired of having to fix new bugs that appear. The best is probably to wait a year or so until some big project like KDE4 helps Qt4 to mature.
This sounds likely. I tried Qt4 when it was released and had problems with tiny test apps. I think it was something about toolbars and icons. I also couldn’t compile it statically with mingw.
Judging from the documentation browser it seems that it is rather slow. There was lag and slow repainting when scrolling the help docs.
I went with wxWidgets instead but that also has its problems…
Trolltech doesn’t care who reports an issue, a bug is a bug. In general, I experienced them as very friendly people who fix bugs as they come. But you have to _talk_ to them and not post rants on discussion boards.
oh Blasphemy!!
Some one said he had problems with Qt4 and its support and an army of Trolls come to the rescue.
Some one said he had problems with Qt4 and its support and an army of Trolls come to the rescue.
Yeah, isn’t that great?
All mentioned problems were solved. I like happy endings. 🙂
Edited 2006-05-19 13:15
Good for all.
Edited 2006-05-19 14:01
Unfortunately, thanks to Trolltech closed development model, It’s very difficult to reach a developer and explain them the trouble I am having with their product, and I dont have enough money to purchase a license and commercial support.
Did you try to file a bug-report?
http://www.trolltech.com/developer/task-tracker
I filed several bug reports, but several scenarios happen, as I mentioned in the earlier post:
1) Nothing happens (the bug stays there, no reply)
2) I make a testcase where I get a reply from Trolltech, saying what I report works for them. This happens to me in many areas, like the dialogs bug and others.. I explained them that their modal QDialogs (dialogs implementation) is broken in anything other than KDE, and all I get is a reply from them saying that it is gnome,icewm, etc what is broken, not Qt4. Or in other cases, Xorg or my distribution (ubuntu/debian).
3) The bugs happen under certain conditions in my application and I can’t reproduce them by making a testcase. Some of these are serious and I need to workaround them. I send the bug to Trolltech and I tell them that it doesnt happen on testcases, and that would be good if they can a) if possible, check my app, which is OPENSOURCE for the bug. b) Explain me how to debug Qt myself and what to look for. However, I never get reply for that.
Download it from Kde-apps.org. It’s Qt4 native.
> -QWidget::scroll doesnt work anymore since 4.1.2
i just tested this and it works fine. i’m using 4.1.3, though.
do you have test cases somewhere that show the problem? i know you said you had problems making test cases, but if you can’t track down the triggers so someone can reproduce it it’s going to be pretty darn difficult to fix things
the cynical side of me says that API changes are leading you to expect things to work in ways they don’t (but perhaps would’ve in Qt3) leading you to code with incorrect expectations.
the trusting side of me says you may have discovered some non-obvious bugs.
would love to know which it is =)
(edit: i should probably note i didn’t bother testing the other two issues the parent posting noted since they were too vague to spend time on. testing scroll() was a 2 minute job =)
Edited 2006-05-19 05:32
> i just tested this and it works fine. i’m using 4.1.3, though.
> do you have test cases somewhere that show the problem? i
I tried, but it actually works in the test cases.
The problem is that QSCrollArea works, but when I want to call QWidget::scroll on a generic widget I inherit from QWidget, on which I draw myself (so i can have the visible contents be screen->screen copied, or backingstore->screen copied and then repaint only the dirty area).. scroll doesn’t happen, and it is the entire widget region what is sent for repaint.. so even if visually everything looks ok, the scrolling isnt happening and the widget moves slow.
> Judging from the documentation browser it seems
> that it is rather slow.
when 4.0 was first released it did have paint speed problems. for a dot-oh release that had so many changes some regression out of the gate was to be expected IMHO. it’s hard to develop a library without real world apps stressing it in ways you don’t expect. getting the kde4 code base working decently alone has aided in this process quite a bit, let alone the proprietary devel houses using it these days.
there have been some pretty radical improvements to various paint operations since 4.0. assistant is anything but slow (quite the opposite) these days on my laptop.
4.2 is out later this year and might be a good time to kick the tires again.
> I also couldn’t compile it statically with mingw.
this was fixed early on in the 4.0.x series and was actually a bug in ar.exe.
just got done talking with reduz on irc…
turns out the modality bug was dealt with and is indeed fixed in 4.1.3. there are several reports in the task tracker for this problem, every one of them marked as scheduled for 4.1.3 and fixed in 4.1.3 (and i confirmed the fix locally just to be paranoid
the layout bugs are/were bugs in his reshake app. at runtime errors were being printed out on the console like “Attempting to add QLayout “” to ReShaked::CVBox “”, which already has a layout.” which pointed directly to the problem.
a crash he was experiencing was due to a (documented) API feature (child widget isn’t fully constructed when QEvent::ChildAdded is received), etc…
now i’ll be the first person to admit that qt4 isn’t perfect (yet as i’ve also run into issues here and there. it’s a large complex bit of software in its second minor release (4.1.x) with new stuff continuing to be added to it (e.g. qtsvg in 4.1, qgrahpicsview in 4.2) so not completely unexpected.
but the issues reduz ran into have either been fixed or are issues in the app he is helping write. so i don’t think it’s quite as bleak a picture as may have been portrayed.
(edit: by which i mean the +5 rating on his original posting is a bit out of whack imho
Edited 2006-05-19 07:29
Asking on qt-interest@ is another option to get answers. Of course QWidget::scroll() on semi-transparent widgets has to update the entire region. Set your widget to be Qt::WA_OpaquePaintEvent, or call setAutoFillBackground(true). For details, see http://doc.trolltech.com/4.1/qwidget.html#transparency-and-double-b…
Good luck!
well, i’m hardly an “army” but i suppose that since Trolltech is my sponsor then i am a Troll. guity! =)
and if by “to the rescue” you mean “spent time confirming bug fixes and debugging his code with him and discussing related multimedia issues while doing so on irc with him” then colour me guilty. you’re two for two
of course, i don’t think it’s a bad thing to help those who are having problems, particularly when you happen to have a fair amount of knowledge in that space. i’m sure that’s not what you were implying.
enjoy the friday … here comes the weekend!
It means what you read, I don’t speak in double meaning … like some may do.
i’m sure that’s not what you were implying.
I guess you should blame to “your cynical side” for it.
Enjoy weekend too.
Edited 2006-05-19 18:07