Buscando un Poco en la WEB, (forum Nokia) más exactamente, encontré unos demos de Qt que en los que ví un Hello World. la verdad me inspiró a escribir esté Post, pues aunque estoy esperando todavía por mi Nokia S60 5ta Edición pues ya tengo todo preparado para desarrollar en él.

Así que decidí hacer mi propio Hello World en Qt, para Symbian, y Publicarlo aquí en la sección de Tutoriales.

Bueno, primero necesitan el SDK de Symbian S60 en sus computadores Instalar s60 sdk en win7.

Una vez instalado el SDK junto al Plugin de OpenC, y el SDK de Qt.

y aquí vienen los ScreenShots… Iniciamos Carbide, y Creamos un Nuevo Proyecto.

Intro

Nuevo Titulo SDK

modulos asistentefinal

Para este caso por ser un Hello World, no escogeré ningún módulo especial de Qt. (de requerirse luego se puede agregar en el .pro)

workspace

El asistente ha generado un montón de archivos (a la izquierda), voy a describir brevemente el .pro, y el .ui:

HelloWorld.pro

Es el archivo de configuración de un proyecto de Qt, cualquier aplicación de Qt sea cual sea la plataforma debe incluirlo, aquí se indican todos los recursos, y destino de la aplicación.

HelloWorld.ui

Es el archivo de interfaz grafica, esté permite dibujar rápidamente una interfaz y conectarla a la aplicación para hacerla funcional. (Por lo general no la uso así que la eliminaré)

Si todo está correcto la aplicación debe compilar. y mostrar algo así:

Compila1.Ahora si, a borrar el .ui que en realidad no hace nada en este momento.

Al borrar el .UI, debo borrar toda referencia a la clase “ui_HelloWorld.h” es la clase generada por qmake basandose en él, al compilar la aplicación.

Para hacer no alejarme tanto del Hello World oficial, crearé una clase que extienda de QPushButton, y le aplicaré una animación por defecto, de tal manera que mi HelloWorld.h queda así:

class HelloWorld : public QPushButton
{
Q_OBJECT

public:
HelloWorld(const QString &text,QWidget *parent = 0);
~HelloWorld();
public slots:
void animatethis(bool start);
private:
QPropertyAnimation *animation;
};

y el .cpp así:

HelloWorld::HelloWorld(const QString &text,QWidget *parent)
: QPushButton(text,parent)
{
qDebug() <<“HELLO WORLD WORKING”;

animation = new QPropertyAnimation(this, “geometry”);
animation->setDuration(5000);
animation->setKeyValueAt(0, QRect(0, 0, 100, 30));
animation->setKeyValueAt(0.5, QRect(250, 250, 100, 30));
animation->setKeyValueAt(1, QRect(0, 0, 100, 30));

this->connect(this,SIGNAL(clicked(bool)),this,SLOT(animatethis(bool)));
}
void HelloWorld::animatethis(bool start)
{
animation->start();
}

Por ultimo en el Main crearé un boton de está clase, y uno para salir de la aplicación.

el main.cpp

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton *Button = new HelloWorld(“Hello”);
Button->show();
Button->setGeometry(QRect(0,0,100,30));
Button = new QPushButton(“Exit”);
Button->connect(Button,SIGNAL(clicked(bool)),qApp,SLOT(quit()));
Button->show();
Button->setGeometry(QRect(260,0,100,30));
return a.exec();
}

Listo, hora de Compilar.

el resultado en mi Emulador queda así:

Anuncios

»

  1. Evaristo dice:

    Hola q tal, muy interesante tu blog, me preguntaba si para hacer este proyecto necesitaste de las Building QT libraries requires RVCT, me parece que es el compilador para la arquitectura ARM y asi poder ejecutar el programa en el Celular, estoy en lo correcto?? y dice que estas librerias no son libres de cargo, asi es???

    agradesco tu ayuda, nos vemos

    • dfjimenezt dice:

      Hola, Primero que todo, gracias por tu interés, y te cuento que si, tienes razón, necesite de las Qt libraries, de las OpenC libraries, y para compilar para el teléfono, necesitas del RVCT para Symbian, ARM da un trial del RVCT 4.0, pero no pude hacerlo compilar, debido a que falta una cabecera para esté.
      Saludos

  2. […] algo pero al intentar emular lo que hice salta algun error [Respuesta] danny1002 18:58 hs. Hoy https://expertonokia.wordpress.com/20…ld-qt-symbian/ a mi me ayudo, para un proyecto nativo, para qt iu necesitas instalar mas dependencias […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s