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 获取et和excel的版本号
Apr 09 Python
python创建一个最简单http webserver服务器的方法
May 08 Python
Python求算数平方根和约数的方法汇总
Mar 09 Python
Python基础教程之正则表达式基本语法以及re模块
Mar 25 Python
python实现SOM算法
Feb 23 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
配置 Pycharm 默认 Test runner 的图文教程
Nov 30 Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 Python
Python TCPServer 多线程多客户端通信的实现
Dec 31 Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
Python使用protobuf序列化和反序列化的实现
May 19 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
functional继承模式 摘自javascript:the good parts
2011/06/20 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
[03:24]2014DOTA2国际邀请赛 神秘商店生意火爆
2014/07/18 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
numpy数组广播的机制
2019/07/12 Python
python每天定时运行某程序代码
2019/08/16 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
Python中logger日志模块详解
2020/08/04 Python
德国网上花店:Valentins
2018/08/15 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
歌颂祖国的演讲稿
2014/05/04 职场文书
求职自我推荐信
2014/06/25 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
家庭经济困难证明
2015/06/23 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书