Bonjour a tous,

je fais face a un probleme de recuperation des coordonnees de la souris lorsque je clique sur un Widget et je tourne en rond...

Je vais tenter d'etre clair et precis:

1) J'ai une interface graphique "principale" avec un bouton 'Position', et lorsque je clique sur ce bouton, cela m'ouvre un QDialog, dans lequel j'ai insere un QLabel.

2) Mon but est de recuperer les coordonnees de la souris par rapport a ce QLabel, lorsque je clique sur ce QLabel.



Dans l'API Qt (http://qt.developpez.com/doc/latest/qmouseevent.html#x) il y a cette methode suivante:
int QMouseEvent:: x () const

Returns the x position of the mouse cursor, relative to the widget that received the event.

See also y() and pos().
C'est exactement ce que je veux, mais le probleme est que lorsque je clique il ne se passe rien, et lorsque mon QDialog s'ouvre j'obtiens les coordonnees du QLabel par rapport au QDialog !!



Dans le __init__ de mon application (pushButton_position est le bouton sur lequel je clique pour ouvrir ma boite de dialogue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
QtCore.QObject.connect( ui.pushButton_position, QtCore.SIGNAL("clicked()"), self.managePositionCamera )
La methode liee au bouton precedent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
def managePositionCamera(self):
 
	PosCamera.setVisible(True)
	ui_pos.label_locationXY.setMouseTracking(True)
 
	print 'X =',pt.x()
	print 'Y =',pt.y()


Mon erreur doit surement venir du fait que je n'applique pas la methode au QLabel directement, mais les signaux proposes par QT concernant un QLabel ne correspondent pas a un clic dessus (par exemple clicked() comme pour un bouton...

En esperant que vous m'avez compris, merci par avance