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

Qt Discussion :

indiquer au compilo qu'il s'agit pas du show() de QWidget


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Tunisie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 141
    Par défaut
    Bonjour

    j'ai une classe B qui herite d'une autre classe A
    le truc c'est que dans B je dois utiliser les signaux et slots donc,je fais heriter B de Qwidget et je mets le macro Q_OBJECT
    le problem c'est que à un moment,je dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Code:
     
    B * viewer = new B() ;
    et viewer->show(); //celui de SoQtexam
    mais là il trouve une ambuiguité parcque le compilo ne sait pas s'il sagit du show() de soQtexam
    ou show de Qwidget

    je fais comment pr lui dire qu'il s'agit bien du show de SoQtexam ?

    Edit :

    bon j'ai pu faire : viewer->SoQtExam::show();
    mais là j'ai une erreur genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    static_metaobject is not a member of SoQtExam
    qt_metacast is not a memember of SoQtExam
    qt_metacall is not  a member of SoQtExam
    ça vous dit quelque chose ?

  2. #2
    Membre confirmé

    Inscrit en
    Décembre 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 171
    Par défaut
    Pour utiliser des signaux et des slots, il suffit ( et il faut dans ton cas) hériter de QObject et non pas de QWidget (qui certes, hérite de QObject).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 39
    Par défaut
    Si tu dois absolument utiliser un QWidget + SoQtexam tu peux peut-être essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SoQtExam* soQtExam = dynamic_cast<SoQtExam*>(B);
    if (soQtExam != NULL)
    {
      soQtExam->show();
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SoQtExam* soQtExam = (SoQtExam*)B;
    if (soQtExam != NULL)
    {
      soQtExam->show();
    }
    Sinon en effet hérite d'un QObjet simplement, où même si SoQtExam hérite lui même d'un QObject alors tu as juste à hériter d'un SoQtExam.

    G.

Discussions similaires

  1. résultat d'une recherchev n'agit pas sur une condition
    Par Stéph utilisateur d'acces dans le forum Excel
    Réponses: 4
    Dernier message: 20/04/2010, 05h38
  2. Propriété TRi par n'agit pas
    Par AlexFred dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/12/2007, 15h51
  3. [TRIGGER] erreur 1442 : le trigger se déclenche mais n'agit pas.
    Par elvan49 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 14/12/2007, 11h47
  4. input{} n'agit pas sur <input type="file" name="textfield">
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 21/08/2007, 15h54
  5. REquete sans erreur sql qui n'agit pas ........
    Par Skam dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/02/2005, 13h41

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