Meego Wiki
Views

SDK/Docs/1.1/Creating Hello World

From MeeGo wiki
< SDK | Docs | 1.1(Difference between revisions)
Jump to: navigation, search
(Creating a Hello World)
(Creating a Hello World)
 
(3 intermediate revisions not shown)
Line 46: Line 46:
     QApplication app(argc, argv);
     QApplication app(argc, argv);
     QSystemInfo s;
     QSystemInfo s;
-
     QLabel *label = new QLabel(QObject::tr("hello ").append(s.currentCountryCode()));
+
     QLabel label(QObject::tr("hello ").append(s.currentCountryCode()));
-
     label->show();
+
     label.show();
-
     label->resize(100,30);
+
     label.resize(100,30);
     return app.exec();
     return app.exec();
}
}
Line 64: Line 64:
Your application is now ready to be configured for building.
Your application is now ready to be configured for building.
-
 
-
'''To build your Hello World:'''
 
-
 
-
Click '''Build All''' or select '''Build''' > '''Build Project "<project name>"'''.
 
== Packaging the Hello World ==
== Packaging the Hello World ==
Line 84: Line 80:
For instructions on configuring device access, see:
For instructions on configuring device access, see:
-
* [[SDK/Docs/1.1/Setting_up_N900_device#Configuring_device_access_in_Qt_Creator|N900]]
 
-
* [[SDK/Docs/1.1/Setting_up_Netbook#Configuring_device_access_in_Qt_Creator|Netbook]]
 
* [[SDK/Docs/1.1/Configuring_QEMU_runtimes#Configuring_access_to_an_emulated_device_in_Qt_Creator|QEMU image]]
* [[SDK/Docs/1.1/Configuring_QEMU_runtimes#Configuring_access_to_an_emulated_device_in_Qt_Creator|QEMU image]]
 +
* [[SDK/Docs/1.1/Setting_up_Netbook#Configuring_device_access_in_Qt_Creator|Netbook]]
 +
* [[SDK/Docs/1.1/Setting_up_N900_device#Configuring_device_access_in_Qt_Creator|N900]]
== Running the Hello World ==
== Running the Hello World ==
Line 105: Line 101:
For more information on debugging, see [[SDK/Docs/1.1/Debugging_with_Qt_Creator|Debugging with Qt Creator]].
For more information on debugging, see [[SDK/Docs/1.1/Debugging_with_Qt_Creator|Debugging with Qt Creator]].
 +
 +
== Running the Hello World on n900 Meego Community Edition ==
 +
 +
As Meego Community Edition didn't provide theme to plain qt app, your app will look ugly on it. So install the meegotouch-qt-style.
 +
<pre>
 +
zypper refresh
 +
zypper install meegotouch-qt-style
 +
</pre>
 +
 +
As meegotouch-qt-style isn't stable enought to make it available for all qt apps, and made qmlviewer crash, we will desactivate for all apps by default. As none theme is setted in the preference, by default qt use meegotouch style.
 +
 +
Edit the file ~/.config/Trolltech.conf to add the following line at the beginning :
 +
 +
<pre>
 +
[Qt]
 +
style=plastique
 +
</pre>
 +
 +
And then to apply the meegotouch style to your app, you can launch via command line with the argument -style meegotouch or use :
 +
 +
<pre>
 +
QApplication::setStyle("meegotouch")
 +
</pre>

Latest revision as of 12:35, 24 June 2011


This page explains how to create a Hello World application with Qt Creator and run it on a MeeGo device (real or emulated).

Note that these instructions are applicable for both Linux and Windows versions of the SDK. However, the screenshots below are taken from the Linux SDK and contain Linux-style file and directory paths.

Contents

Prerequisites

  • You have set up MeeGo SDK environment for Linux or Windows.

Creating a Hello World

To create a project:

  1. In Qt Creator, select File > New File or Project.
  2. Select Mobile Qt Application and click Choose....
    Creating your project
  3. Name your project, select where you want to save it, and click Next.
    Note: Make sure that the path to the location does not contain spaces.
    Naming your project
  4. Select MeeGo target(s) and click Next.
    Selecting the MeeGo target(s)
    These targets are the same as the ones you set up when configuring Qt Creator to use MADDE targets. (Windows instructions, Linux instructions). Which means that the target name in the screen shot should be "MeeGo netbook" if you are following Windows instructions.
  5. Name the files that will be automatically created for your project.
    Naming classes for your project
  6. If you want to add the project to version control, do so. Otherwise click Finish.
    Adding your project to version control
Your project has now been created.

To create a Hello World application:

For more information on the Hello World created here, see the Qt Mobility Quickstart Example.

1. In Qt Creator, select Edit mode.

2. To view your project files, open Forms, Headers, and Sources folders in Projects sidebar.

3. To create an application that uses the QSystemInfo headers to print out the system's current country code, replace the existing example code in your main.cpp file with the following example code:

#include <QApplication>
#include <QLabel>
#include <QSystemInfo>
using namespace QtMobility;

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QSystemInfo s;
    QLabel label(QObject::tr("hello ").append(s.currentCountryCode()));
    label.show();
    label.resize(100,30);
    return app.exec();
}

4. Add following System Information API declaration in your .pro file:

CONFIG += mobility
MOBILITY += systeminfo

Do not remove the existing code in the file.

5. In the File menu, select Save All.

Your application is now ready to be configured for building.

Packaging the Hello World

If you run your Hello World application, an .rpm package is created automatically.

If you want to create a package of your Hello World application without running it, click Build All or select Build > Build Project "<project name>".

Compile Output view shows the message "Package created." and an .rpm package file (<project name>-<project version>-<release version>.<device architecture>.rpm) has been created in the build-specific project subdirectory ("<project name>-build-meego").

Configuring device access in Qt Creator

Configuring device access in Qt Creator is slightly different depending on whether you are deploying to a real device or an emulated one.

However, the mode of access is the same: Qt Creator deploys and installs an .rpm package on the device, and runs the executable.

For instructions on configuring device access, see:

Running the Hello World

To run your Hello World on your device:

  1. Switch to Projects mode Qt Creator Projects mode button.png.
  2. On the target toolbar, select MeeGo > Run to configure Run settings.
  3. In Device configuration drop-down menu, select the device configuration you created when configuring device access.
    Qt Creator run settings mobility.png
  4. Click Run.
    Your Hello World runs on your device.

On a netbook image, the Hello World application runs as shown in the following screenshot:

Sdk-docs-helloworld-on-netbook.png

Debugging the Hello World

For more information on debugging, see Debugging with Qt Creator.

Running the Hello World on n900 Meego Community Edition

As Meego Community Edition didn't provide theme to plain qt app, your app will look ugly on it. So install the meegotouch-qt-style.

zypper refresh
zypper install meegotouch-qt-style

As meegotouch-qt-style isn't stable enought to make it available for all qt apps, and made qmlviewer crash, we will desactivate for all apps by default. As none theme is setted in the preference, by default qt use meegotouch style.

Edit the file ~/.config/Trolltech.conf to add the following line at the beginning :

[Qt]
style=plastique

And then to apply the meegotouch style to your app, you can launch via command line with the argument -style meegotouch or use :

QApplication::setStyle("meegotouch")
Personal tools