We’re porting Qt 4 to Windows CE and Windows Mobile

Since October 2006 we've been porting Qt 4.x to Windows CE 5.0 and Windows Mobile 5.0 and we're starting to get somewhere, so I thought it was time to break the news. The plan is to have a Technology Preview ready late this summer, and have a final release together with the rest of Qt 4.4.0 sometime next year.

So how far are we? We've ported QtCore, QtGui and QAxContainer (ActiveQt) as well as updated the buildsystem (configure.exe, qmake etc.) for supporting shadowbuilds and compiling to host and target platforms. We've got our QMenu stuff integrated into the native Windows Mobile menubars, and we've got two new styles: Windows CE and Windows Mobile. We're also running nightly autotests of the Qt/CE branch running through the hundreds of autotests we've got for our different modules. Wanna have a look? Here is some obligatory screenshots:

Tetrix running on Windows Mobile 5.0
Tetrix running on Windows Mobile 5.0. We were very quick to map the softkeys so we could pla^H^H test this application when testing packages.
Text editor running on Windows Mobile 5.0 (Smartphone)
Textedit demo running on Windows Mobile 5.0 (Smartphones). Notice how the menu is the actual native Windows Mobile one.
Text editor running on Windows CE 5.0
Textedit demo running on Windows CE. Here the menu is more like we're used to in desktop apps. Also - notice the crappy style.... It's not our fault - we're just following the "guidelines" :).

At the moment we support these SDKs from Microsoft:

  • Windows Mobile 5.0 Pocket PC Edition (ARM)
  • Windows Mobile 5.0 Smartphone Edition (ARM)
  • Windows CE 5.0 Standard SDK (ARM)
  • Windows CE 5.0 Standard SDK (X86)

and we already had our binaries running on Windows Mobile 6.0. Windows CE 6.0 we don't support yet, but the moment there is an SDK available from Microsoft (if ever?) we will add support for it ASAP. We develop and test both on the emulators provided by Microsoft, but also on a Dell AXIM X51v (Pocket PC) and a Qtek 8310 (Smartphone).

Now if you want to try out the stuff, here is Tetrix statically built for Windows Mobile 5.0 (ARM). It's around 3 megs. And if you want to get serious and get your hands on the current code to help us with suggestions and bug reports, you can do that too! Just send a mail to support and/or sales and ask them nicely about joining the Qt/CE testing program (you need to sign an NDA at the moment - and don't worry there will be publicly available previews later).

So what is left you ask? Well, we need to make all the other Qt modules compile and work on the platform. But more importantly we also need to make sure that Qt performs well on the Windows CE devices. As you know we already support embedded Linux with Qtopia Core. Now we need to give the same love and caring to Windows CE as embedded Linux has been getting all these years. At the moment we are working on optimizing painting performance (we're trying to make Qt/CE use 16bit colordepth internally rather than 32bit as it is at the moment) and also ways to make the size of the Qt libraries smaller. The cool thing is that we now have two embedded platforms where Qt will run, and since we're working together it will improve them both! :D Is this one of the few places where I can use the word synergy? I think it is!

Blog Topics: