ユーザがウィンドウ内でクリックするプログラムを作成しようとしており、これによってウィンドウに描画されたストアドポイントのリストが作成されます。ユーザーは何度でもクリックすることができますが、左下の「完了」と書かれている矩形内をクリックすると、リストが完成します。graphics.pyウィンドウでマウスクリックからプロットされたポイントのリストを作成する
「完了」をクリックするまで、ポイントをプロットできるループを作成することに固執しました。ここで
は、私は(私は多くのことを行方不明です知っている)、これまで持っているものです。
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()
グラフィックウィンドウ内でユーザがクリックから保存された点のリストを作成するための最良の方法は何ですか?私は後でこれらの点を使用する予定ですが、最初にポイントを保存したいだけです。
広すぎるとの意見(現在の状態)ベースを...ただ、マウスの移動/ダウン/アップイベントを作成して、どこかのリストを格納します。私はあなたのコードでそれを見ていません。代わりにあなたは良い考えではないループでポーリングしています。作業している言語/ IDEタグとOSタグを追加します。私はこれを見てみることを強くお勧めします:[C++/VCL/GDIの単純なドラッグアンドドロップの例](http://stackoverflow.com/a/20924609/2521214)私の簡単な例(フルプロジェクト+ exe zipファイルが含まれています)では、画面上のオブジェクトのいくつかの種類は、それらを移動し、それらを削除... – Spektre