Python
 Computer >> コンピューター >  >> プログラミング >> Python

tkinterでマウス座標に沿って線を引く方法は?


マウスの座標に沿って線を引くには、マウスをクリックするたびに座標を取得する関数を作成し、2つの連続する点の間に線を引く必要があります。例を見て、それがどのように行われるかを見てみましょう。

ステップ-

  • tkinterライブラリをインポートし、tkinterフレームのインスタンスを作成します。

  • ジオメトリを使用してフレームのサイズを設定します メソッド。

  • ユーザー定義のメソッドを作成する"draw_line" 各マウスクリックのx座標とy座標をキャプチャします。次に、 create_line()を使用します 2つの連続する点の間に線を引くCanvasの方法。

  • マウスの左クリックをdraw_lineでバインドします メソッド。

  • 最後に、メインループを実行します アプリケーションウィンドウの。

# Import the library
import tkinter as tk

# Create an instance of tkinter
win = tk.Tk()

# Window size
win.geometry("700x300")

# Method to draw line between two consecutive points
def draw_line(e):
   x, y = e.x, e.y
   if canvas.old_coords:
      x1, y1 = canvas.old_coords
      canvas.create_line(x, y, x1, y1, width=5)
   canvas.old_coords = x, y

canvas = tk.Canvas(win, width=700, height=300)
canvas.pack()
canvas.old_coords = None

# Bind the left button the mouse.
win.bind('<ButtonPress-1>', draw_line)

win.mainloop()

出力

マウスの左クリックを追跡し、2つの連続する各ポイントの間に線を引きます。

tkinterでマウス座標に沿って線を引く方法は?


  1. Tkinterキャンバスでオブジェクトの座標を取得するにはどうすればよいですか?

    Tkinter Canvas Widgetは、アプリケーションにGUI機能を提供します。シェイプの描画、オブジェクトのアニメーション化、およびキャンバス内の既存のアイテムの構成に使用できます。図形を作成するときは常に、Canvasアイテムコンストラクターで図形のサイズと座標を指定する必要があります。キャンバス上のアイテムの座標を返すために、 coords(item)を使用できます。 方法。キャンバスウィジェット内の形状の座標を含むリストを返します。 例 from tkinter import * #Create an instance of tkinter frame win = Tk() #

  2. Tkinter Canvasをクリアする方法は?

    Tkinterは、ウィンドウにキャンバスを追加する方法を提供します。キャンバスを作成すると、メモリ内のストレージがラップされます。 tkinterでキャンバスを作成している間、クリアまたは削除する必要のあるメモリを効果的に消費します。 キャンバスをクリアするには、 delete()を使用できます 方法。 「all」を指定することで、tkinterフレームに存在するすべてのキャンバスを削除してクリアできます。 例 #Import the tkinter library from tkinter import * #Create an instance of tkinter frame win