溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 五子棋如何獲得鼠標點擊坐標

發(fā)布時間:2020-09-17 19:35:16 來源:腳本之家 閱讀:100 作者:changfan 欄目:開發(fā)技術

這篇文章主要介紹了python 五子棋如何獲得鼠標點擊坐標,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

點坐標的取自:

from tkinter import *

root=Tk()

#創(chuàng)建一個框架,在這個框架中響應事件
frame=Frame(root,width=200,height=200)

def callBackLeft(event):
  print("相對于應用程序左上角的位置,左鍵點擊的位置是",event.x,event.y)
  print("相對于屏幕左上角的位置,左鍵點擊的位置是",event.x_root,event.y_root)

def callBackRight(event):
  print("右鍵點擊的位置是",event.x,event.y)
  print("右鍵點擊的位置是",event.x_root,event.y_root)

frame.bind("<Button-1>",callBackLeft)
frame.bind("<Button-3>",callBackRight)
frame.pack()

mainloop()

執(zhí)行后 結果如圖:

python 五子棋如何獲得鼠標點擊坐標

對坐標進行 處理和過濾得到 具體坐標

from tkinter import *
root = Tk()

size = 16

def piant(event):
  if event.x % 30 > 15:
    event.x = event.x // 30 + 1
  else:
    event.x = event.x // 30
  if event.y % 30 > 15:
    event.y = event.y // 30 + 1
  else:
    event.y = event.y // 30
  # 邊緣檢測
  if event.x > size:
    event.x = size
  if event.y > size:
    event.y = size
  if event.x < 1:
    event.x = 1
  if event.y < 1:
    event.y = 1

  print("x坐標:%d,y坐標:%d"%(event.x,event.y))

canvas = Canvas(root, width=500, height=500)
canvas.pack(expand=YES, fill=BOTH)

canvas.bind("<Button-1>",piant)

canvas.pack()


#畫豎線
for num in range(1, 17):
  canvas.create_line(num * 30, 30,
            num * 30, 480,
            width=2)

#畫橫線
for num in range(1, 17):
  canvas.create_line(30, num * 30,
            480, num * 30,
            width=2)

root.mainloop()

執(zhí)行后 結果如圖:

python 五子棋如何獲得鼠標點擊坐標

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI