La classe sous QT creator

Résolu
afrozen Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
afrozen Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je promgramme sous QT creator sous ubuntu
J'essaye de créer mon propres slot de tel sorte qu'on changeant la valeur du slider la dimension de ma fenetre change. voici ma classe :

#include "creationpropreslot.h"

void CreationpropreSLOT::changerLargeur(int largeur)
{
setFixedSize(largeur, 100);
}

CreationpropreSLOT::CreationpropreSLOT()
{

m_slider = new QSlider(Qt::Horizontal, this);
m_slider->setGeometry(50, 80, 100, 40);

QObject::connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(changerLargeur(int)));
}

La compilation passe sans problème or lors de l'execution j'ai le message suivant :

"Object::connect: No such slot QWidget::changerLargeur(int) in creationpropreslot.cpp:16"

or moi j'ai bien mis la fonction "changerLargeur" au début de mon fichier creationpropreslot.cpp

SVP sauriez vous comment je dois faire ?


A voir également:

2 réponses

loupius Messages postés 697 Date d'inscription   Statut Membre Dernière intervention   148
 
Il ne suffit pas que la fonction existe.
Il faut qu'elle soit déclarée comme étant un 'slot' et que la macro 'Q_OBJECT' soit déclarée dans la classe.
Exemple:
class UneClasse : public QWidget
{
  Q_OBJECT
  ...
  public slots:
    void changerLargeur() { ...; }
  ...
};
Bonnecontinuation.
0
afrozen Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,

Merci infiniment.

Cordialement
0