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中使用判断语句和循环的教程
Apr 25 Python
详解Python的Flask框架中的signals信号机制
Jun 13 Python
Python文件操作,open读写文件,追加文本内容实例
Dec 14 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
pandas.DataFrame 根据条件新建列并赋值的方法
Apr 08 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
Python如何发布程序的详细教程
Oct 09 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
在Python中等距取出一个数组其中n个数的实现方式
Nov 27 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
Django model class Meta原理解析
Nov 14 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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
推荐php模板技术[转]
2007/01/04 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
php layui实现前端多图上传实例
2019/07/30 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
jquery序列化表单去除指定元素示例代码
2014/04/10 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
讲解python参数和作用域的使用
2013/11/01 Python
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
python 穷举指定长度的密码例子
2020/04/02 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
师范生教师实习自我鉴定
2013/09/27 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
大家检讨书5000字
2014/02/03 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
文化活动实施方案
2014/03/28 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
泰山导游词
2015/02/02 职场文书