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常用的内置序列结构(列表、元组、字典)学习笔记
Jul 08 Python
python如何读写json数据
Mar 21 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
Windows下安装Scrapy
Oct 17 Python
使用Python实现微信提醒备忘录功能
Dec 04 Python
解决django model修改添加字段报错的问题
Nov 18 Python
Python线程条件变量Condition原理解析
Jan 20 Python
Python修改列表值问题解决方案
Mar 06 Python
没编程基础可以学python吗
Jun 17 Python
python list的index()和find()的实现
Nov 16 Python
Python四款GUI图形界面库介绍
Jun 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导入csv文件碰到乱码问题的解决方法
2014/02/10 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
python实现随机漫步方法和原理
2019/06/10 Python
python print出共轭复数的方法详解
2019/06/25 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
详解Python3 pickle模块用法
2019/09/16 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
Python表达式的优先级详解
2020/02/18 Python
Python logging模块原理解析及应用
2020/08/13 Python
python中的unittest框架实例详解
2021/02/05 Python
AmazeUI的JS表单验证框架实战示例分享
2020/08/21 HTML / CSS
医院护士见习期自我鉴定
2014/04/10 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
体育课课后反思
2014/04/24 职场文书
学生期末评语大全
2014/04/30 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
后进生评语大全
2015/01/04 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
分享7个 Python 实战项目练习
2022/03/03 Python