I know that is quite silent about the Qt Windows CE port is the past, but be asured Qt for Windows CE has not been forgotten at all.
A lot of Windows CE bugs and issues have been fixed for Qt 4.6.
Some people might have noticed that a short while ago Windows Mobile 6.5 was released. Unfortunately this was a little bit to late to fully support officially Windows Mobile 6.5 in Qt 4.6.
But the good news are that we will have some support for Windows Mobile 6.5 in Qt 4.6 and will fully support it for Qt 4.7.
Qt 4.6 will contain mkspecs for Windows Mobile 6.5 and it also will contain support for the new style. This means that Qt 4.6 applications look native on Windows Mobile 6.5.
It is also worth mentioning that the new animation framework is fully supported on Windows CE, which allows some really nice effects. This means that Qt is really able to leverage the Windows Mobile experience to new heights or in more appropriate words (I am not a marketing guy.): Qt can help you to deliver astonishing applications for Windows Mobile.
Since screenshots tell more than words, here are some:
Since the Windows CE platform is still missing support for Phonon in 4.4, we are working on Phonon for this new Qt platform. We ported the Direct Show backend to Windows Mobile. Sadly there are only very few Direct Show filters available by default on Windows Mobile. But there is nothing we can do about this from the Qt side.
Because not all Windows CE SDKs and Devices support Direct Show, I also wrote a backend for the
Wave Form API from Windows CE. This backend has a lower footprint, but is for now only able to play wave files.
If you want to try out Phonon for Windows CE, then check out the Qt main snapshots, and either configure your Qt/Windows CE build with Phonon enabled (configure -platform win32-msvc2005 -xplatform wincewm50pocket-msvc2005 -phonon) or build Phonon manually (src\phonon).
While playing around with Phonon do not forget to deploy phonon and the plugin for the backend you want to use.
For people, who are not familiar with Phonon. Playing a wave file with Phonon just takes two lines of code:
The Windows CE team is always happy to receive feedback. You can subscribe the qt-wince-interest mailing list by sending the word “subscribe” in the subject of a message to qt-wince-interest-subscribe@trolltech.com.
Some of you might know the generic geographical map widget Marble that is part of KDE 4.
As already stated in Torsten Rahns’s Blog I started porting Marble to Windows CE.
Since Marble is a pure Qt application and does not rely on OpenGL the port is pretty straightforward.
The main problems were memory constrains, because Windows CE 5 only supports 32MB virtual memory. And of course speed is another issue. I had to reduce the complexity of the vector data set, because there is no tiling implemented, yet, and all the vector data has to fit into memory. The bump map is also significantly smaller than in the desktop version.
And now Marble runs on Windows CE as you can clearly see:
Marble on Windows Mobile 6.0 (America)
The Marble port proves that Qt really allows to port fairly complex application easily from the desktop to embedded devices. In this case the new Windows CE platform. It is also a good test case for stability of Qt for Windows CE.
Marble on Windows Mobile 6.0 (North Pole)
Marble on Windows Mobile 6.0 (Afrika)
Marble running on a ViewSonic Windows CE 5.0 tablet, also powered by an ARM cpu.
Marble in full action on a Dell Axim
Another video of Marble running on a Dell Axim.
Marble running on a Fujitsu Siemens Futro A220 (x86)
The Futro has a 400Mhz x86 processor, which is the reason that Marble runs really fast even on a high resolution.
Since we just released the Qt/WinCE Technology Preview and it has been quite some time since our last Qt/WinCE blog, I think it is time for another chapter on how our brave Qt framework is discovering the land of Windows CE.
Those of you who downloaded Qt/WinCE and tested the technology preview might know that Qt/WinCE supports all Qt modules except Qt3Support and OpenGL.
Actually right now I am working on support for OpenGL ES for Qt/WinCE.
OpenGL ES is a specialized version of OpenGL for embedded devices. But it is still powerful enough for some really impressive demos and examples if you look at the SDK by PowerVR.
This is a small demo showing off OpenGL on the Dell Axim. For such a small device the OpenGL rendering is pretty fast I think. In this demo we already use QGLWidget for general rendering and QGLPainter for text rendering and the bubbles. So if everything works as planned our next Qt/WinCE release may contain support for OpenGL (ES).
In the meantime we are integrating Qt 4.4 into our Qt/WinCE branch.
Finally a few days ago I realized that our scribble example is really cool on a handheld, because it allows you to draw directly with a pen on the screen. To bad I have no real artistic talent.
I hope you guys will have as much fun developing cool and useful applications for Windows CE devices as we have porting the awesome Qt to Windows CE.