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二叉树的实现实例
Nov 21 Python
简单分析Python中用fork()函数生成的子进程
May 04 Python
Django url,从一个页面调到另个页面的方法
Aug 21 Python
python mqtt 客户端的实现代码实例
Sep 25 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
python matplotlib如何给图中的点加标签
Nov 14 Python
Django的CVB实例详解
Feb 10 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
matplotlib对象拾取事件处理的实现
Jan 14 Python
Python自然语言处理之切分算法详解
Apr 25 Python
Python集合的基础操作
Nov 01 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
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
jQuery的三种$()
2009/12/30 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
js输出列表实现代码
2010/09/12 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
python多线程抽象编程模型详解
2019/03/20 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
师范生自荐信范文
2013/10/06 职场文书
受伤赔偿协议书
2014/09/24 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
2016年寒假家长评语
2015/10/10 职场文书
《富饶的西沙群岛》教学反思
2016/02/16 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
话题作文之诚信
2019/11/28 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js