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 :

QMenu : impossible de convertir le paramètre à la connexion


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 QMenu : impossible de convertir le paramètre à la connexion
    Bonjour,

    j'ai une liste de message d'erreurs qui me rend folle alors que je suis presque sure que c'est rien de mechant :/

    voici la liste des erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    1>------ Début de la génération*: Projet*: cone_test_1_11, Configuration*: Release Win32 ------
    1>Compilation en cours...
    1>test.cpp
    1>.\test.cpp(13) : error C2664: 'QMenu::QMenu(const QString &,QWidget *)'*: impossible de convertir le paramètre 2 de 'test *const ' en 'QWidget *'
    1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    1>.\test.cpp(22) : error C2664: 'QMenu::QMenu(const QString &,QWidget *)'*: impossible de convertir le paramètre 2 de 'test *const ' en 'QWidget *'
    1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    1>.\test.cpp(26) : error C2664: 'QMenu::QMenu(const QString &,QWidget *)'*: impossible de convertir le paramètre 2 de 'test *const ' en 'QWidget *'
    1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    1>.\test.cpp(31) : error C2664: 'QMenu::QMenu(const QString &,QWidget *)'*: impossible de convertir le paramètre 2 de 'test *const ' en 'QWidget *'
    1>        Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    1>hello_cone_soqt.cpp
    1>Le journal de génération a été enregistré à l'emplacement "file://c:\Users\hela\Documents\Visual Studio 2008\Projects\cone_test_1_11\cone_test_1_11\Release\BuildLog.htm"
    1>cone_test_1_11 - 4 erreur(s), 0 avertissement(s)
    ========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
    voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    #include "test.h"
    #include <QtGui>
    test ::test(QWidget * parent) {
     
    	 setPopUp();
    }
    void test :: setPopUp()
    {	
    	QMenuBar *menuBar = new QMenuBar();
     
     
     file = new QMenu(" &File",this);
    	file->addSeparator();
     
     
    	file->addSeparator();
     
     
    	menuBar->addMenu( file );  
     
    	execute= new QMenu(" &Execute",this);
     
    		menuBar->addMenu( execute );
     
    	haptic= new QMenu(" &Haptic",this);
     
     
    	menuBar->addMenu( haptic );
     
    	about= new QMenu("&About",this);
     
    }
    merci de bien vouloir me repondre

  2. #2
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Il y a moyen d'avoir le header? C'est peut-être là que ça cloche (test est-il bien un QWidget?).

  3. #3
    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
    le header est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #include <QtGui>
     
     
     
    class test 
    {
     
    	public:	
     
    		test (QWidget * parent = 0);
     
    	void		setPopUp();
    	private:
     
     
    		QMenu		*file;
     
    		QMenu		*execute;
     
    		QMenu		*about;
     
     
     
     
    };

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Par défaut
    Voilà, donc la class Test n'hérite pas de QWidget.
    Mais QMenu réclame un QWidget:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QMenu ( const QString & title, QWidget * parent = 0 )
    Il faut donc que ta classe devienne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Test : public QWidget{
    ....
    };
    Dans ton constructeur, ce que tu as, c'est un potentiel paramètre de type QWidget, mais ça ne veut pas dire que ta classe est de ce type.

    D'ailleur, dans l'implémentation de ton constructeur, n'oublie pas d'envoyer ce paramètre à la classe parente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    test ::test(QWidget * parent) : QWidget(parent) {
     
    	 setPopUp();
    }

  5. #5
    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
    d'accord je vais essayer ca (ce soir parce que j'ai pas le projet sur moi maintenant) ! mais ca me semble logique
    Merci

  6. #6
    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
    j'ai un sousi du meme genre je crois avec cette methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    void	CMainWindow::liste_butons()
    {
    QWidget *zoneCentrale = new QWidget;
     
    	QLineEdit *test1LineEdit = new QLineEdit(this);
    	QLineEdit *test2LineEdit = new QLineEdit(this);
    	QLineEdit *test3LineEdit = new QLineEdit(this);
     
    //	QWidget *win = new QWidget(this);
     	QLabel *test1Label = new QLabel(("&test1:"),this);
     	test1Label->setBuddy(test1LineEdit);
     	QLabel *test2Label = new QLabel(("&test2:"),this);
     	test2Label->setBuddy(test2LineEdit);
     	QLabel *test3Label = new QLabel(("&test3:"),this);
     	test3Label->setBuddy(test3LineEdit);
     	QGridLayout *gridLayout = new QGridLayout();
     	gridLayout->addWidget(test1Label, 0, 0);
     	gridLayout->addWidget(test1LineEdit, 0, 1);
     	gridLayout->addWidget(test2Label, 1, 0);
     	gridLayout->addWidget(test2LineEdit, 1, 1);
     	gridLayout->addWidget(test3Label, 2, 0);
     	gridLayout->addWidget(test3LineEdit, 2, 1);
     
     	this->setLayout(gridLayout);
     
     
     
     
    }
    mais là enfait,si je mets pas mes éléments dans le QGridLayout,ils sont affiché dans ma fenetre (lun sur l'autre) mais si je le met,y'a pas affichage du tout. au debut je pensais qu'il y'avait un "show" qui manquait,mais le show le metterai dans une fenetre à part,pas la principale.
    peux tu m'aider sur ce coup s'il te plait ?

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2011, 10h57
  2. Réponses: 4
    Dernier message: 25/02/2010, 15h22
  3. Réponses: 2
    Dernier message: 29/12/2008, 18h49
  4. Réponses: 1
    Dernier message: 09/07/2008, 15h54
  5. [CR9][RAS] Publication d'états,paramètre et connexion BD
    Par youl dans le forum Connectivité
    Réponses: 4
    Dernier message: 10/01/2005, 10h20

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