Don’t ship KDE 4.2 with Qt 4.5.

Just a couple of days ago, we’ve upgraded qt-copy in KDE’s SVN to the release candidate of Qt 4.5. Qt 4.5 is to be released shortly, and some distros and Operating Systems apparently plan to ship KDE 4.2 with Qt 4.5. That is not a good idea, not if you want a well-working Plasma. (qt-copy is a copy of Qt (d’oh!) we’re using for KDE development and which contains some patches we’re pushing upstream to Qt. Those are often fixes we need in order to be able to develop KDE.

But let me explain. In Plasma, we’re using QGraphicsView a lot. QGraphicsView is a canvas that is different from regular widgets and windows. As such, “normal” QWidgets don’t work (wait, I’ll get to that in a second), neither do QLayouts. Enter QGraphicsWidgets and QGraphicsLayouts. The latter are still quite new in Qt, and as such not as mature as we’re used to from other components in Qt. QGraphicsLayouts in Qt 4.4 for example have problems resizing when their content changes its size. Luckily, most of that has been addressed by the Qt developers so that we’re looking at a much improved QGraphicsLayout in Qt 4.5.

In order to get some of the more complex Plasmoids to work correctly in (the Qt 4.4-based) KDE 4.2, those Plasmoids contain workarounds for those problems, workaround that aren’t necessary for Qt 4.5 any more. Some of those workaround are even considered harmful when using Qt 4.5 (i.e. they will simply break things such as screwing out the layouting of widgets). The result of that is that Plasma in KDE 4.2 is effectively incompatible with Qt 4.5, hence the reason we ask distributors to not ship KDE 4.2 with Qt 4.5. At least not until further notice.

We’ve already removed some of those workaround and hacks in KDE trunk/ (which is what is going to become KDE 4.3 this summer). KDE 4.3 will require Qt 4.5 anyway once it’s released, so this is pretty much a no-brainer. It’s not trivial to backport those things, that’s why we’re currently not planning to do that.

So as it looks like, we (the Plasma team) won’t support running KDE 4.2 with Qt 4.5. If you’d like to know further details about this, or want to find out what it takes to get KDE 4.2 working with Qt 4.5, please come over to the Plasma mailinglist (plasma-devel kde org) to discuss this further.

Update: Most of the issues have been resolved by both the Qt and KDE teams. If you happen to run into problems with this combination, let us know via or one of our mailinglists and we’ll see if we can fix it.