Qt 4 Maemo: the new experience.

The Maemo platform is growing up day by day and its good software and hardware attract every day new people.
Unfortunately not all of these people are able to program in GTK, since they don’t use linux or because they are KDE people.
Qt4maemo was born as a natural answer to this leak. I compiled and uploaded the first Qt4 packages when I hadn’t got a Maemo device yet. Less than 2 months ago I was contacted by Nokia to work fulltime on this project. Obviously I accepted and now I spend most of my time behind a monitor hacking Qt! 🙂

The Project:

  • Why Qt?
    There are a lot of things that make Qt a good choice for developing your application: it has an intuitive library and you don’t need to change your code to run your application on your Desktop or Tablet. Qt integrates a lot of powerful tools easy to use, such as Webkit and Phonon.
  • The Goals
    The aim of this project is to give to the community a Qt integrated in the hildon environment.
    Qt developers don’t need to learn new stuff and the hildonization of Qt is transparent to them.
  • The Status
    The application menu bar has been hidden and its QActions are showed in a QMenu that popups when the user clicks the application title bar. The Quit action has been moved to the right menu position.
    The input method has been integrated, the IM popups when the keyboard is closed and a keywidget receives the focus. It also supports the sticky and the lock mode for the shift and Fn keys. The Compose key (“Ch” on the keyboard) works fine, so basically the on-screen and the hardware keyboard are pretty usable.
    The GTKStyle has been integrated in the source tree and it is used as default style. The other styles have been disabled in order to have a more slim library and this allows to save space on the device.
    The Qt package and its dependencies have been updated to diablo and they are available in the Qt4 repository.
    A lot of little stuff has been completed, such as the right QToolbar position and the QMessageBox size calculated with the available area dictated by the WM……
  • The next steps.
    The next big step is moving the packages from the Qt4 garage repository into extras. Why is it a big step?
    Because in this way people can start to port their applications.  Qt4maemo is under development but is usable and the changes on the Qt4 code don´t involve changes in the application code.
    Obviously other important steps include completing the port and MAKING MORE people use Qt on maemo! 😛
  • Support
    I offer assistance via forum to everyone who needs help to port his application to maemo or who wants to package his Qt application.
    The forum is open for every discussion on the code as well.
    Usually my replies are quite fast and the posts can be anonymous, but it´s better for you that you log in before leaving a post so that you can immediately when I or someone else has replied.
  • Thanks
    I can´t finish this post without saying thanks to all the people who helped me in this project, such as some Trolltech guys and Jott.
    I also want to thank Kate, not because she´s my boss, but because she’s very kind, and she’s able to surprise me with her big knowledge and experience.
    And last, but not least I want to thank Nokia for this experience and all the people who use and will use Qt on their tablet 😉

9 comments on “Qt 4 Maemo: the new experience.

  1. Please, don’t cheat people regarding GTK: this library is available on most platforms (not only linux, but also on windows/mustdie(tm) and macos etc.)

  2. GTK on windows and Mac OSX is ugly, doesn’t use the right file dialogues and doesn’t integrate with the OS at all.

  3. Excellent work!

    But… where does the image on the top come from? The Maemo and Nokia (trademarked) logos give it an appearance of official stuff when it is not. Even if you are now working inside Nokia for this.

    I know you have only good intentions, but please note the confusion you might generate by giving an official look to something that is at the end a maemo.org community project (and a very good one). Thank you for your understanding!

  4. Off-topic: Try reading this post on a N810. It is near impossible given your design choices….

  5. Hey, very cool stuff.

    Does the fullscreen button work now as well?

    I really have to try it out soon. Oh, by the way, any chance of you also doing the pyqt4 bindings for us python lovers?

    Keep up the great work!

  6. Well done!

    I am especially happy that you did the right thing with the packaging and didn’t put moc into a stupid devkit or other such nonsense.

    I am a bit worried, though, about the fact that Qt4 seems to include its own copies of an ungodly number of , slightly modified, 3rd party libraries, like WebKit, FreeType and SQLite. That’s not so nice in terms of maintenance. But that’s of course inherited from Qt4 itself.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.