Vai al contenuto



Foto

[Qt] Programmare Usando Qtmobility In Qt Creator


  • Per favore accedi per rispondere
8 risposte a questa discussione

#1 OFFLINE   Andrea993

Andrea993

    Advanced Member

  • Developer
  • 278 messaggi
  • Cellulare:N8, Lumia 920
  • Firmware:S.A.U.X.

Inviato 25 novembre 2011 - 20:10

Ho provato a chiedere anche su aqtmltri forum ma nessuno ha saputo darmi una risposta funzionate, chiara e precisa.

Qualcuno sa come inserire le qtmobility su qt creator??
Io

Please Login HERE or Register HERE to see this link!

guida l'ho gia letta e seguita, a parte la modifica dei parametri del qmake che non so come modificarli o se sono veramente da modificare.

Fatto sta che Qt creator quando uso le classi di qtmobility mi ritrova gli attributi e metodi appartenenti (per cui le librerie le vede!!) però quando cerco di compilare mi dà errore e dice che non trova i file...

Credo che il problema sia del qmake ma come e cosa devo modificare?

Messaggio modificato da Andrea993, 25 novembre 2011 - 20:11


#2 OFFLINE   AdrianoTiger

AdrianoTiger

    Advanced Member

  • Developer
  • 245 messaggi
  • Località:Svizzera
  • Cellulare:N8

Inviato 29 novembre 2011 - 13:33

Basta inserire nel file PRO:

CONFIG += mobility

Inoltre una riga con quali librerie vuoi usare, esempio:

MOBILITY += multimedia sensors location

#3 OFFLINE   AdrianoTiger

AdrianoTiger

    Advanced Member

  • Developer
  • 245 messaggi
  • Località:Svizzera
  • Cellulare:N8

Inviato 29 novembre 2011 - 13:39

Se non é quello il problema, al 99% é perché non hai inserito la macro:

QTM_USE_NAMESPACE

nel file header che usa la libreria.

Esempio:

#ifndef OVIMAPSGEOMAP_H
#define OVIMAPSGEOMAP_H

#include <QGraphicsGeoMap>
#include <QGeoMappingManager>
#include <QGraphicsView>
#include <QGraphicsScene>

QTM_USE_NAMESPACE

class OviMapsGeoMap : public QGraphicsGeoMap
{
    Q_OBJECT
public:
    explicit OviMapsGeoMap(QGeoMappingManager *manager, QWidget *parent);
    ~OviMapsGeoMap();

    void mousePressEvent(QGraphicsSceneMouseEvent *event);
    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
    void mouseMoveEvent(QGraphicsSceneMouseEvent *event);

    void AddPixmap(QGeoCoordinate coord, QString image, QString camid, bool clearAll);
private:
    bool panActive;
    int iTotSpan;
    int iTotSpanTemp;

signals:
    void panFinished(void);
    void CamTrovata(int iCamID, int x, int y);

public slots:

};

#endif // OVIMAPSGEOMAP_H


#4 OFFLINE   Andrea993

Andrea993

    Advanced Member

  • Developer
  • 278 messaggi
  • Cellulare:N8, Lumia 920
  • Firmware:S.A.U.X.

Inviato 29 novembre 2011 - 19:07

Sì l'ho inseirta, il problema, mi sono accorto che è che non riesco a installare il file config.bat presente nel qtmbonbility, non so quale qmake devo passargli

#5 OFFLINE   AdrianoTiger

AdrianoTiger

    Advanced Member

  • Developer
  • 245 messaggi
  • Località:Svizzera
  • Cellulare:N8

Inviato 29 novembre 2011 - 19:54

Guarda che Qt Mobility é già installata assieme all'SDK.

Non devi installare nessuna mobility oltre a quella che ricevi con l'SDK. Quei tempi sono passati. E' da oltre 1/2 anno che non devi più eseguire nessun batch per installare le librerie mobility.

Come installi l'SDK, hai anche mobility 1.2 (con l'ultima versione di Qt SDK).

#6 OFFLINE   Andrea993

Andrea993

    Advanced Member

  • Developer
  • 278 messaggi
  • Cellulare:N8, Lumia 920
  • Firmware:S.A.U.X.

Inviato 30 novembre 2011 - 16:14

Allora non so, ho messo QTM_USE_NAMESPACE dove c'è il main
e nel il file .pro ho già aggiunto le 2 linee

Messaggio modificato da Andrea993, 30 novembre 2011 - 16:15


#7 OFFLINE   AdrianoTiger

AdrianoTiger

    Advanced Member

  • Developer
  • 245 messaggi
  • Località:Svizzera
  • Cellulare:N8

Inviato 30 novembre 2011 - 17:08

Allora non so, ho messo QTM_USE_NAMESPACE dove c'è il main
e nel il file .pro ho già aggiunto le 2 linee


Non basta nel main. Devi inserirla in tutti i files "*.h" dove includi una libreria di mobility.

#8 OFFLINE   Andrea993

Andrea993

    Advanced Member

  • Developer
  • 278 messaggi
  • Cellulare:N8, Lumia 920
  • Firmware:S.A.U.X.

Inviato 01 dicembre 2011 - 11:31

Ma io includo le librerie nel cpp e l'ho inserito anche lì.
Forse dipende dal fatto che devo inserirlo sopra l'include e non sotto??

EDIT:
Esattamente mi sottolinea in rosso QTM_USE_NAMESPACE e scrive 'QtMobility' is not a namespace-name.
Provo a reinstallare l'sdk

EDIT:
Provato, nessun cambimento

Messaggio modificato da Andrea993, 01 dicembre 2011 - 13:27


#9 OFFLINE   Andrea993

Andrea993

    Advanced Member

  • Developer
  • 278 messaggi
  • Cellulare:N8, Lumia 920
  • Firmware:S.A.U.X.

Inviato 04 dicembre 2011 - 16:01

Ho risolto, non era qtmobility che no andava, ma era QtMultimediaKit che non è stato inserito nelle librerie on device, bisogna copiarlo manualmente dall'emulatore.