python 五子棋 获得鼠标左键点的坐标

Posted changfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

执行后 结果如图:

技术图片

 

以上是关于python 五子棋 获得鼠标左键点的坐标的主要内容,如果未能解决你的问题,请参考以下文章

ansys中如何查看某1个点的坐标?

笔记本声音调不了,左键点击音量没反应。右键点击打不开音量合成器。

大哥们求助:MFC中OnLButtonDown响应函数中,鼠标左键单击的点(point)的坐标是物理坐标还是逻辑坐标啊?

如何通过鼠标点击获得鼠标点的三维世界坐标呢?OPENGL

在MATLAB二维图中,随鼠标移动,显示该点的坐标信息,如何做到?谢谢大家,在线等

求做一个Autohotkey脚本:1.鼠标左键点一下。2.间隔30ms按下数字键3,3.间隔30ms按下数字键1。1~3循环