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 24 Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 Python
python随机模块random的22种函数(小结)
May 15 Python
python中数字是否为可变类型
Jul 08 Python
Python连接Impala实现步骤解析
Aug 04 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
Python爬取豆瓣数据实现过程解析
Oct 27 Python
Python request post上传文件常见要点
Nov 20 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
Python编程编写完善的命令行工具
Sep 15 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 采集心得技巧
2009/05/15 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php实现websocket实时消息推送
2018/03/30 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
Django之路由层的实现
2019/09/09 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
学生安全责任书模板
2014/07/25 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
详解OpenCV曝光融合
2022/04/29 Python