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通过90行代码搭建一个音乐搜索工具
Jul 29 Python
实例Python处理XML文件的方法
Aug 31 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
基于python select.select模块通信的实例讲解
Sep 21 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
选择Python写网络爬虫的优势和理由
Jul 07 Python
Python生成器常见问题及解决方案
Mar 21 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
jupyter notebook的安装与使用详解
May 18 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
Aug 02 Python
pytest实现多进程与多线程运行超好用的插件
Jul 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伪造referer的方法 利用referer防止图片盗链
2014/01/20 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
利用JavaScript实现拖拽改变元素大小
2016/12/14 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
vue实现在线学生录入系统
2020/05/30 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
pytorch打印网络结构的实例
2019/08/19 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
本科毕业生的求职信范文
2013/11/20 职场文书
运动会1000米加油稿
2015/07/21 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
如何利用Python实现一个论文降重工具
2021/07/09 Python
Java 在生活中的 10 大应用
2021/11/02 Java/Android