IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Création d'un QObject

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut Création d'un QObject
    Hello,

    (Oui le titre en dit long sur ma connaissance de Qt...)

    J'ai besoin de modifier la GUI depuis un autre (éventuellement plusieurs) threads que le thread associé a la GUI, pour ça faut passer par des signaux / slots, jusque la pas de problèmes.

    Maintenant, j'ai besoin que la/les classes qui doivent modifier la GUI héritent de QObject pour y ajouter des signaux, et c'est la que ça bloque.

    La classe que j'utilise pour envoyer des signaux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class GUIManager: public Base<>, public QObject {
     
    	Q_OBJECT
    	signals:
    		void updateSignal();
     
    	/* ... */
    };
    J'ai passé un coup de MOC dessus (obligatoire sur tous les QObjects ?)

    et les erreurs que j'obtient:
    'bool QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)'*: impossible de convertir le paramètre 1 de 'const GUIManager *' en 'const QObject *'

    'staticMetaObject'*: n'est pas membre de 'Base<>'

    'qt_metacast'*: n'est pas membre de 'Base<>'

    'qt_metacall'*: n'est pas membre de 'Base<>'
    Il faut que toutes les classes de bases de GUIManager héritent de QObject ?
    Pourquoi Qt veut pas comprendre que GUIManager est un QObject ?

  2. #2
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Bon, il semblait que je me prenait la tête pour rien..

    Pour une raison qui m'échappe il faut que la 1ere classe mère hérite de QObject.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class GUIManager: public Base<>, public QObject // erreurs de compilations
     
    class GUIManager: public QObject, public Base<> // OK
    Et pour connect qui voullait pas convertir un const GUIManager* en const QObject*, un cast à l'air de faire l'affaire. (Mais pas spécialement propre, je devrais pas avoir a caster normalement oO)

    Bref, je vais juste attendre confirmation que le cast est normal, mais à part ça, c'est résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36
  3. [Kylix] Création d'un fichier lien
    Par DrQ dans le forum EDI
    Réponses: 2
    Dernier message: 14/05/2002, 21h30
  4. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo