Linked by Eugenia Loli-Queru on Tue 17th Oct 2006 08:28 UTC, submitted by forrestm
Features, Office The KOffice team is proud to announce the 1.6.0 release of its office suite. This release is mostly a feature release of Krita and Kexi, but also contains major enhancements to the OpenDocument and MathML support of KFormula and new scripting functionality. This version also contains a vastly improved version of KPlato, our project planning application.
Thread beginning with comment 172594
To read all comments associated with this story, please click here.
Seriously KDE and all really impresses me
by bouh on Wed 18th Oct 2006 02:32 UTC
bouh
Member since:
2005-10-27

... But not the way you think.

Indeed, I have never been really a Qt fan. But the developers behind KDE are writting very good applications. They put as much as they can in it in terms of usability and program features. And I like that.

For the past 6 month, one of my friend at work was so engulfed by Qt potential, that when we had to write a simulator for our application, he choosed Qt whereas I wanted Gtk. I let him do, and it became like a challenge.

So we started developping with Qt3.3, and went on for 6 month. I know it's not the last version, but it's still widely used. Seriously, we run into problems after problems with Qt, with the library itself I mean. The way things are done. May be we were asking too much, having too high expectations. At one point of time, even my friend felt disappointed. So I was telling myself that we missed something, that it must be better than what we thought. Especially browsing on Internet, you find rants like the eternal Qt/gtk war, but real comments on Qt alone, not so much.

Well to begin with, Qt has a poor threading capability in Qt3.3, and really it's a shame. You are obliged to deal with a lot "magic" just to get multi-threading works, because it only deals with signal and slots (events) as long as they are managed... by the main thread! Second, text modification in a large QListView sometimes crashes the application, it just can't handle it. Third, Qt tries so much to replace everything, I know it was created when STL did not exist yet, but it's time to drop their containers in favor to those of the STL (I haven't tried Qt4 yet for that, so I hope they just wrotte wrapper around the STL). Finally their socket high level classes are not good enough when it comes to open many different sockets on different port at the same time. Multiplexing functionality is inexistant. Since you have to write it yourself, you end up using system calls, that you have to mix with Qt library, and it gives headhacke sometimes.


So when I see what the KDE developpers are able to achieve with Qt as a base, I am truly amazed. I wanted to have a look in the code of one of these app one day to see how much of Qt code they use (only the rendering part, a la Gtk, or really every single class they can).

We gonna port our app to Qt4, I am in charge of it, so I really hope to see a lot of improvement. I wanna try going on with Qt even if it's not my primary choice, but just because I want to know how KDE developers make it so great with it!

Anyone has a experience with Qt please feel free to share...

anda_skoa Member since:
2005-07-07

because it only deals with signal and slots (events) as long as they are managed... by the main thread!

No, Signals&Slots also work in other threads. Just like with any other method call you have to be careful when crossing thread contexts, but since a slot invocation is a method call that is to be expected.

Finally their socket high level classes are not good enough when it comes to open many different sockets on different port at the same time

Hmm, maybe you are using the event loop driven QSocket instead of QSocketDevice and threads.
It works with QSocket, but has better performance with QSocketDevice+threads when the data processing after receiving or before sending takes some time.

We are doing quite complex applications here at work, including standard GUI, specialized visualizations and non-GUI/server processes.

As far as I remember we had only one threading problem in over four years, and that was actually a bug in libpthread on certain SMP kernels.

Reply Parent Bookmark Score: 1