2011-10-28 1 views
-2

Comment trace-t-on sur la fenêtre graphique sur laquelle l'utilisateur clique?Python utilisant graphics.py

Je dois créer un cercle au point où ils ont cliqué et je ne sais pas par où commencer.

J'ai essayé;

win.getMouse() 
center = Point(win.getMouse(),win.getMouse()) 
circ = Circle(center, 30) 
circ.draw(win) 

mais évidemment cela ne fonctionne pas

+2

Quelle bibliothèque GUI utilisez-vous? Je suggère de rechercher la définition de getMouse() et ce qu'elle renvoie - il serait étrange de s'attendre à une fonction qui renvoie x au premier appel et y à la seconde. Je préfère attendre quelque chose comme ceci: 'x, y, smthelse, smthelse = win.getMouse()' alors 'center = Point (x, y)' et plus loin que le code va. – egor83

Répondre

2

Votre code initial:

win.getMouse() 
center = Point(win.getMouse(),win.getMouse()) 
circ = Circle(center, 30) 
circ.draw(win) 

peuvent être modifiés au travail et condensé à:

Circle(win.getMouse(), 30).draw(win) 

qui suppose une victoire est instance de la classe GraphWin et a déjà été déclarée. win.getMouse renvoie un objet Point, donc il n'est pas nécessaire de changer un point en paires de coordonnées juste pour le remettre en un point ...