Qt QWidget connect [Résolu]

Signaler
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010
-
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010
-
Bonjour,
Je travaille avec Qt en C++ et j'aimerai savoir comment passer la méthode move() d'une QWidget en SIGNAL dans un QObject::connect.

Configuration: Linux / Firefox 3.5.9

4 réponses

Messages postés
181
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
7 janvier 2012
8
J'ai trouvé ceci : http://doc.qt.nokia.com/4.6/qmoveevent.html.

Je me suis déja servi de closeEvent, ça marche comme ça :

(On réimplémente juste )

class Classe
{

public:

void closeEvent(QCloseEvent *event);

};

void Classe::closeEvent(QCloseEvent *event)
{
if (unBoolean == true)
event->accept();
else
event->reject();

}



donc j'imagine que pour move event :


class Classe
{

public:

void moveEvent( const QPoint & pos, const QPoint & oldPos);

};

void Classe::moveEvent( const QPoint & pos, const QPoint & oldPos)
{
anciennePos = oldPos;
nouvellePos = pos;

deplacementX = nouvellePos.x() - anciennePos.x();
deplacementY = nouvellePos.y() - anciennePos.y(); 
}


Je n'ai jamais essayé pour moveEvent mais à mon avis c'est à peu près comme ça.

Pop70
Messages postés
181
Date d'inscription
mardi 6 avril 2010
Statut
Membre
Dernière intervention
7 janvier 2012
8
Il faut créer un signal personnalisé :



class UneClasse : public QMainWindow
{
Q_OBJECT

public:

uneClasse;

signals: // pour créer un signal
void widgetMove (); // Nommer de n'importe quelle façon

fBouger (); // fonction ou le widget va bouger


private:

QWidget *unWidget;

};

uneClasse::uneClasse ()
{
// Connexion du signal widgetMove au Slot quit;

QObject::connect(this, SIGNAL(widgetMove()), qApp, SLOT(quit()));
}


fBouger()
{
unWidget->move(5,3);

emit widgetMove (); // émet le signal
}




Pop70
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

merci de ta réponse mais
En fait j'aimerai récupérer la position de ma fenêtre dans un label à chaque fois que celle ci bouge.
Messages postés
86
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
13 mai 2010

Merci ca marche parfaitement sauf que la position n'est pas donnée en temps réelil faut positionner la fenêtre ensuite seulement la position est donnée.

ps:
Dans mon cas j'ai plutôt utilisé:
void Window::moveEvent(QMoveEvent * event)