您好,登錄后才能下訂單哦!
這篇文章主要介紹了python 五子棋如何獲得鼠標點擊坐標,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
點坐標的取自:
from tkinter import * root=Tk() #創建一個框架,在這個框架中響應事件 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()
執行后 結果如圖:
對坐標進行 處理和過濾得到 具體坐標
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()
執行后 結果如圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。