Je suis en train de créer un programme où l'utilisateur clique dans une fenêtre, et cela crée une liste de points enregistrés qui sont également dessinés dans la fenêtre. L'utilisateur peut cliquer autant de fois qu'il le souhaite, mais une fois qu'il clique dans le rectangle "Terminé" en bas à gauche, la liste est complète.Dressez une liste des points relevés de clics de souris dans une fenêtre graphics.py
J'ai collé sur la création Gotten la boucle qui permet à l'utilisateur de tracer les points jusqu'à ce qu'ils « OK ».
Voici ce que j'ai jusqu'à présent (je sais que je manque beaucoup):
from graphics import *
def main():
plot=GraphWin("Plot Me!",400,400)
plot.setCoords(0,0,4,4)
button=Text(Point(.3,.2),"Done")
button.draw(plot)
Rectangle(Point(0,0),Point(.6,.4)).draw(plot)
#Create as many points as the user wants and store in a list
count=0 #This will keep track of the number of points.
xstr=plot.getMouse()
x=xstr.getX()
y=xstr.getY()
if (x>.6) and (y>.4):
count=count+1
xstr.draw(plot)
else: #if they click within the "Done" rectangle, the list is complete.
button.setText("Thank you!")
main()
Quelle est la meilleure façon de créer une liste de points mémorisés du clic de l'utilisateur dans la fenêtre graphique? Je prévois d'utiliser ces points plus tard, mais je veux juste que les points soient stockés en premier.
trop large et opinion fondée (en état) ... Il suffit de créer le déplacement de la souris/down/up événements et stocker la liste quelque part. Je ne vois rien dans votre code. Au lieu de cela, vous êtes en train de polir une boucle qui n'est pas une bonne idée. Ajoutez les tags de langue/IDE et OS avec lesquels vous travaillez. Je recommande fortement de regarder ceci: [un simple glisser-déposer par exemple en C++/VCL/GDI] (http://stackoverflow.com/a/20924609/2521214) avec mon exemple simple (fichier zip projet complet + exe inclus) qui peut ajouter quelques types d'objets sur l'écran, les déplacer, les supprimer ... – Spektre