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

tkinterを使用して2回のマウスクリックの間に線を引く


マウスボタンでウィンドウをクリックすると、座標が保存され、指定された2つのポイント間に線が作成されるようなGUIアプリケーションを作成する場合を考えてみます。 Tkinterは、ユーザーがキーまたはボタンを関数にバインドできるようにするイベントを提供します。

2点の間に線を引くには、次の一般的な手順に従います。

  • キャンバスウィジェットを作成し、ウィンドウに表示するためにパックします。

  • 関数を定義するdraw_line() これは、ユーザーがクリックイベントを実行したときにイベントとして機能します。

  • キャンバスのクリック数をカウントするグローバル変数を作成します。

  • カウントが2になった場合は、1番目と2番目の座標の間に線を引きます。

  • マウスボタンをコールバック関数にバインドして、関数を完全に制御します。

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame or window
win=Tk()

# Set the size of the window
win.geometry("700x350")

# Define a function to draw the line between two points
def draw_line(event):
   global click_num
   global x1,y1
   if click_num==0:
      x1=event.x
      y1=event.y
      click_num=1
   else:
      x2=event.x
      y2=event.y
   # Draw the line in the given co-ordinates
   canvas.create_line(x1,y1,x2,y2, fill="green", width=10)

# Create a canvas widget
canvas=Canvas(win, width=700, height=350, background="white")
canvas.grid(row=0, column=0)
canvas.bind('<Button-1>', draw_line)
click_num=0

win.mainloop()

出力

上記のコードを実行してウィンドウを表示します。キャンバスウィジェットをどこかで2回クリックすると、キャンバスに線が引かれます。

tkinterを使用して2回のマウスクリックの間に線を引く


  1. Tkinterを使用してデジタル時計を作成するPython

    Python Tkinterを使用して、Webおよびデスクトップ用のあらゆる種類のGUIプログラムを作成できます。この記事では、時、分、秒をライブで表示するデジタル時計を作成する方法を説明します。 時間モジュールを使用して、時間を時間、分、秒の形式で表示するメソッドstrftimeをインポートします。これらの値を保持するためのキャンバスを作成します。 200ミリ秒ごとにstrftimeの値を更新します。これを実現するために再帰関数を定義します。 例 import time from tkinter import * canvas = Tk() canvas.title("Digit

  2. LAN ケーブルを使用して 2 台のコンピュータ間でファイルを転送する

    1 台のコンピューターからデータとファイルを転送する場合ペンドライブ、外付けハードドライブ、メールまたはオンラインファイル転送ツールを介して転送するなど、複数のオプションがあります。データ転送のためにペンドライブや外付けハードドライブを何度も挿入するのは面倒だと思いませんか?さらに、巨大なファイルやデータをあるコンピューターから別のコンピューターに転送する場合は、オンライン ツールを選択する代わりに、LAN ケーブルを使用することをお勧めします。この方法は、LAN ケーブルを使用して 2 台のコンピューター間でファイルを転送する、非常に効果的で安全かつ即時です。 LAN ケーブル (イーサネッ