Meego Wiki
Views

SDK/Docs/1.2/Using Qt Simulator

From MeeGo wiki
< SDK | Docs | 1.2
Revision as of 19:22, 18 April 2011 by Dlawlor (Talk | contribs)
Jump to: navigation, search

Contents

Using the Qt Simulator for MeeGo Development

There are a number of ways to develop applications for MeeGo devices

  • On Windows or Linux desktop with a hardware device attached to the MeeGo SDK
  • On Windows or Linux desktop (32 bit only) running the QEMU emulator
  • On a Linux desktop runing in a chroot / Xephyr environment
  • Directly on a device - the MeeGo SDK and development toolchain are installed on a tablet (with keyboard / mouse attached) or netbook.
  • On a Windows or Linux desktop running in the Qt Simulator

This post will describe the advantages and disadvantages of using the Qt Simulator for MeeGo development.

There is a limited set of applications that could take advantage of the Qt Simulator - especially on Windows platforms.

After reading the two sections below on which MeeGo apps can and can't be developed with the Qt Simulator, you can make a decision on wether to use it. If so, there is a tutorial on how to use it.


When to Use the Qt Simulator

  • When you are developing the User Experience (UX) of an application and want to test it on various devices.
  • You do NOT need to use meegolabs.ux.components or meego.ux.components (see disadvantages below)
  • You are developing a QML component to be used in other MeeGo applications (like a file browser component)
  • If your application under development needs to read or write data to the MeeGo infrastructure, you can create a temporary model for you application to isolate it

When NOT to Use the Qt Simulator

When you are debugging your applications's interactions with other MeeGo applications that communicate through various middleware components

such as:

  • libsocialweb
  • sensors
  • pulseaudio
  • messaging framework
  • MeeGo touch framework
  • When you are debugging your applications's interaction with the application launcher (appgrid)

When you are developing an OpenGL application

Most MeeGo apps use can't be built in the Qt Simulator environment, because they use MeeGo.Labs.Components:

Since this component hasn't been ported to the Qt Simulator environment, it can't be simulated by the Qt Simulator.

Application developers will need a work-around to this if they are going to use either meegolabs-ux-components or meego-ux-components.

It's a known issue that dbus doesn't work on Qt Simulator.

http://bugreports.qt.nokia.com/browse/QTSIM-12


A quick attempt to build the email app.

One look at the .pro file for MeeGo.Labs.Components reveals that this app must be developed on a Linux platform, Emulated with QEMU or directly.

TEMPLATE = lib
TARGET = Components
QT += declarative \
    network \
    dbus \
    sql
CONFIG += qt \
    plugin \
    dbus \
    link_pkgconfig \
    mobility
PKGCONFIG += gconf-2.0 \
    qmfmessageserver \
    qmfclient \
    libpulse \
    libpulse-mainloop-glib \
    libexif \
    libkcalcoren \
    mlite \
    xdamage \
    QtPublishSubscribe \
    contextsubscriber-1.0


Installing the Qt Simulator / Resources needed.

One advantage of using the Qt Simulator is that it will run on Windows and Linux 64 bit platforms.

To install, simply check the appropriate Simulator Qt 4.7.2 checkbox in the "Select Components" screen of the SDK installer.

Install-sim.png


The Simulator will require an additional 1.2 Gig on your development workstation. Less (550 Meg) if you install on Windows and already have Visual Studio 2008 installed.

Note: On Windows, the MeeGo SDK with one target installed, QEMU, Qt Simulator and the Mingw development environment (Microsoft Visual Studio not installed) takes approx 6.5 Gig of disk space.

Using the Simulator

In your Project tool in Qt Creator, you would click the '+' in the Project Chooser (top) to add a Qt Simulator target. If the Qt Simulator wasn't installed, it won't be an option when clicking the '+'

Build-sim.png

A sample app running in the Qt Simulator. This app uses a very small C++ model and QML:

Sim-meego-control.png Sim-meego-skin.png

Personal tools