Ich versuche, ein Programm zu erstellen, wo der Benutzer in einem Fenster klickt, und das erstellt eine Liste der gespeicherten Punkte, die ebenfalls in dem Fenster gezeichnet werden. Der Benutzer kann so oft klicken, wie er möchte. Sobald er jedoch innerhalb des Rechtecks mit der Aufschrift "Fertig" unten links klickt, ist die Liste vollständig.Erstellen Sie eine Liste der gezeichneten Punkte von Mausklicks in einem graphics.py-Fenster
Ich habe bei der Erstellung der Schleife stecken geblieben, die es dem Benutzer ermöglicht, die Punkte zu plotten, bis sie auf "Fertig" klicken.
Hier ist, was ich bisher (ich weiß, dass ich viel bin fehlt):
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()
Was ist der beste Weg, um eine Liste der gespeicherten Punkte vom Benutzer durch Klick im Grafikfenster zu schaffen? Ich plane, diese Punkte später zu verwenden, aber ich möchte nur die Punkte zuerst gespeichert bekommen.
Zu breit und Meinung basierte (im aktuellen Zustand) ... Erstellen Sie einfach auf Mausbewegung/unten Events/und irgendwo um die Liste zu speichern. Ich sehe nichts davon in Ihrem Code. Stattdessen pollst du in einer Schleife, die keine gute Idee ist. Fügen Sie Sprache/IDE- und OS-Tags hinzu, mit denen Sie arbeiten. Ich empfehle dringend, dies zu betrachten: [einfaches Drag & Drop-Beispiel in C++/VCL/GDI] (http://Stackoverflow.com/a/20924609/2521214) mit meinem einfachen Beispiel (vollständige Projekt + exe Zip-Datei enthalten), die hinzufügen können einige Arten von Objekten auf dem Bildschirm, bewegen Sie sie, entfernen Sie sie ... – Spektre