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 :

Signaux et slots dans la classe héritée

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut Signaux et slots dans la classe héritée
    Bonjour,

    J'ai le programme suivant

    mainwindow.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
     
        public:
            explicit MainWindow(QWidget *parent = 0);
            ~MainWindow();
     
        protected:
            Ui::MainWindow *ui;
    };
    mainwindow.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
    }
    classeA.h, héritée de MainWindoW
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class A : public MainWindow
    {
        Q_OBJECT
     
        public:
            explicit A(QWidget *parent = 0);
     
        public slots:
            void fonctionBoutton();     
    };
    classeA.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    A::A(QWidget *parent) :
        MainWindow(parent)
    {
        connect(ui->myPushButton, SIGNAL(clicked()), this, SLOT(fonctionBouton()));
    }
     
    void A::fonctionBouton()
    {
        ui->textBrowser->append(QString("OK ça marche !"));
    }
    qui compile parfaitement mais qui n'affiche rien dans le textBrowser lorsque myPushButton est clické... et pour cause, le SIGNAL du bouton n'arrive pas !

    Auriez-vous une idée ?

    Merci et bonne soirée à tous

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    Bonsoir,

    J'ai bien une pettitte idée Regarde la signature du slot.

  3. #3
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Citation Envoyé par Troudhyl Voir le message
    J'ai bien une pettitte idée Regarde la signature du slot.
    Lors de la retranscription de l'exemple j'ai malencontreusement mis un 't' en trop à 'void fonctionBoutton()' mais sinon les signatures sont identiques (absence de paramètre pour le SIGNAL et le SLOT), non ?

    Qu'est-ce qui fait que le SIGNAL n'arrive pas ? l'objet est pourtant bien transmis par l'héritage ?

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Par défaut
    Moi je ne vois pas, as-tu exécuté ton exemple ?
    S'il n'y a pas d'erreur de compilation, Qt t'indique à l'exécution lorsqu'il n'arrive pas à connecter les signaux et slots via une warning trace dans la console, tu peux vérifier ?

  5. #5
    Membre confirmé
    Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Janvier 2011
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 114
    Par défaut
    Citation Envoyé par ness522 Voir le message
    Moi je ne vois pas, as-tu exécuté ton exemple ?
    S'il n'y a pas d'erreur de compilation, Qt t'indique à l'exécution lorsqu'il n'arrive pas à connecter les signaux et slots via une warning trace dans la console, tu peux vérifier ?
    Aucun warning à l'exécution... ou alors il se cache très bien

    Je joins les fichiers-modèle, créés sous QtCreator (version Qt 4.8.1), si quelqu'un à l'occasion de tester et de m'éclairer...

    Bonne journée à tous
    Fichiers attachés Fichiers attachés

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Par défaut
    C'est une MainWindow que tu affiches, pas une classeA, corrige ton main

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

Discussions similaires

  1. Requête dans ma classe héritée de Zend_Db_Table_Row_Abstract
    Par chezdevelopping dans le forum Zend_Db
    Réponses: 9
    Dernier message: 12/11/2009, 17h36
  2. WaitForSingleObject dans des classes héritées
    Par Definol dans le forum Windows
    Réponses: 6
    Dernier message: 06/11/2007, 10h23
  3. Réponses: 1
    Dernier message: 05/01/2007, 14h00
  4. Réponses: 2
    Dernier message: 04/12/2005, 21h10

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