python 五子棋如何获得鼠标点击坐标


Posted in Python onNovember 04, 2019

这篇文章主要介绍了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()

执行后 结果如图:

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()

执行后 结果如图:

python 五子棋如何获得鼠标点击坐标

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的subprocess模块总结
Nov 07 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
基于python+selenium的二次封装的实现
Jan 06 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 Python
如何快速理解python的垃圾回收机制
Sep 01 Python
Python实现定时监测网站运行状态的示例代码
Sep 30 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
python语言实现贪吃蛇游戏
Nov 13 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 Python
Pandas 缺失数据处理的实现
Nov 04 #Python
python tkinter canvas使用实例
Nov 04 #Python
python matplotlib饼状图参数及用法解析
Nov 04 #Python
python制作朋友圈九宫格图片
Nov 03 #Python
python使用yield压平嵌套字典的超简单方法
Nov 02 #Python
基于python实现从尾到头打印链表
Nov 02 #Python
pandas 空数据处理方法详解
Nov 02 #Python
You might like
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
2015/04/17 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
bootstrap网页框架的使用方法
2016/05/10 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
vue中的 $slot 获取插槽的节点实例
2019/11/12 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
python实现自动发送邮件
2018/06/20 Python
有关Python的22个编程技巧
2018/08/29 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
S’well Bottle保温杯官网:绝缘不锈钢水瓶
2018/05/09 全球购物
婚前协议书范本
2014/04/15 职场文书
火灾现场处置方案
2014/05/28 职场文书
深度学习tensorflow基础mnist
2021/04/14 Python
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技