Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Connection, Qt Designer et héritage multiple

Y en a marche, y en a sa marche pas!

Sujet résolu
    27 novembre 2008 à 9:44:27

    Salut a tous;

    J'ai un petit souci a la compilation. J'ai réalisé une interface avec Qt Designer. Pour l'utiliser dans mon code j'ai réalisé un héritage multiple. Maintenant je tente de réaliser mes connections personnalisé. C'est là que ça bloque...

    La definition de ma classe héritant de QMainWindow, et de ui_MainWindow j'ai mon constructeur:

    #include "MainWindow.h"
    
    MainWindow::MainWindow(QMainWindow *parent) : QMainWindow(parent)
    {
        setupUi(this);
        connect(actionQuiter, SIGNAL(triggered()), qApp, SLOT(quit()));
        connect(OuvrirImage, SIGNAL(clicked()), this, SLOT(OuvrirImage()));
        connect(actionOvrir_Image, SIGNAL(triggered()), this, SLOT(OuvrirImage()));
    
    
    
    }
    
    void MainWindow::OuvrirImage(){
    
    	QFileDialog *OuvretureFichier = new QFileDialog;
    	m_fichier = OuvretureFichier->getOpenFileName(this, "Ouvrir un fichier", QString(), "Images (*.gif *.bmp *.tif *.tiff *.jpg *.png)");
    
    	if (m_fichier == "")
            QMessageBox::critical(this, "Fichier", "Format de fichier, ou emplacement de l'image invalide");
    
    	if (checkBox->isChecked())
            QMessageBox::information(this, "Fichier", "Est près pour le passage en niveau de gris!!!");
    
    }
    


    Et le compilateur me renvoi cette erreur:


    MainWindow.cpp: In constructor `MainWindow::MainWindow(QMainWindow*)':
    MainWindow.cpp:7: error: no matching function for call to `MainWindow::connect(<unknown type>, const char[11], MainWindow* const, const char[15])'
    d:/Qt/4.4.0/include/QtCore/../../src/corelib/kernel/qobject.h:197: note: 
    candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
    d:/Qt/4.4.0/include/QtCore/../../src/corelib/kernel/qobject.h:303: note:
             bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const
    mingw32-make[1]: *** [debug/MainWindow.o] Error 1
    mingw32-make[1]: Leaving directory `D:/Documents and Settings/Marc/Mes documents
    /Programation/codblocks/SICFO/Interface5'
    mingw32-make: *** [debug] Error 2


    actionOvrir_Image et actionQuiter sont des QAction et fonctionne parfaitement!
    OuvrirImage est un QPushButton et il ne fonctionne pas!
    Si quelqu'un est inspiré, qu'il me le dise parceque moi je ne comprends plus, là. Si on regarde bien l'erreur porte sur un QPushButton, les deux autres fonctionne très bien. Il n'y a aucun problème pour les QAction mais pas pour le QPushButton, d'ou mon incompréhenssion.

    Si vous voulez plus de code pour mieux comprendre le problème n'hésitez pas je le posterai!
    Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2008 à 17:55:08

      Ton bouton a le même nom que le slot, c'est peut-être pour ça !

      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2008 à 12:01:33

        Bien j'ai modifier le nom de du slot, et ça marche. Cela dit je ne comprends pas pourquoi, entre un nom d'objet et de fonction il ne devrait pas y avoir de conflit de se type ?

        En tous cas merci pour ta clairevoyance!!! :)
        • Partager sur Facebook
        • Partager sur Twitter

        [Qt] Connection, Qt Designer et héritage multiple

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown