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 27 Python
Python标准库inspect的具体使用方法
Dec 06 Python
python读取和保存视频文件
Apr 16 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
学习python的前途 python挣钱
Feb 27 Python
基于sklearn实现Bagging算法(python)
Jul 11 Python
pandas DataFrame的修改方法(值、列、索引)
Aug 02 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
如何基于python测量代码运行时间
Dec 25 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
Python实例方法、类方法、静态方法区别详解
Sep 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下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
js 连续赋值的简单实现
2016/06/13 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
简单实现python爬虫功能
2015/12/31 Python
Python人脸识别初探
2017/12/21 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
基于Python 函数和方法的区别说明
2021/03/24 Python
项目合作意向书范本
2014/04/01 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
农村党员干部承诺书
2015/05/04 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书
MySQL之DML语言
2021/04/05 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL