鱼C论坛

 找回密码
 立即注册
查看: 1501|回复: 19

新人求助!关于tkinter绑定事件,不能触发了,也没有报错

[复制链接]
发表于 2018-2-6 13:56:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
就是一个普通的画线代码
昨天还可以正常触发,今天安装了wheel和pygame后就不能触发了,也没有报错,麻烦各位大大看一下


from tkinter import *

root=Tk()

w=Canvas(root,width=400,height=200)
w.pack()

def paint(event):
   
    x1,y1=(event.x-1),(event.y-1)
    x2,y2=(event.x+1),(event.y-1)
    w.create_oval(x1,y1,x2,y2,fill='red')

w.bind('<B2-Motion>',paint)

Label(root,text='按住鼠标左键,开始绘制').pack(side=BOTTOM)

mainloop()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-6 14:19:01 | 显示全部楼层
upupup~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-6 14:29:32 | 显示全部楼层
重启编译器再试试,代码应该没有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-6 15:24:33 | 显示全部楼层
BngThea 发表于 2018-2-6 14:29
重启编译器再试试,代码应该没有问题

代码我也觉得没问题,因为之前都可以正常运行;重启编译器是什么操作?我重启了电脑都没用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-6 15:32:25 | 显示全部楼层
一曲肝肠断 发表于 2018-2-6 15:24
代码我也觉得没问题,因为之前都可以正常运行;重启编译器是什么操作?我重启了电脑都没用

可能是某些莫名其妙的冲突
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-6 18:43:15 | 显示全部楼层
BngThea 发表于 2018-2-6 15:32
可能是某些莫名其妙的冲突

键盘绑定没问题,可是鼠标绑定不了。。。尴尬了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-6 20:53:59 | 显示全部楼层
upupup~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 11:04:48 | 显示全部楼层
paint这个函数你调用了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 11:06:02 | 显示全部楼层
了解2号 发表于 2018-2-7 11:04
paint这个函数你调用了吗?

就是paint调用了没反应,也没有报错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 11:08:13 | 显示全部楼层
一曲肝肠断 发表于 2018-2-7 11:06
就是paint调用了没反应,也没有报错

cavas.pack()你在paint函数调用结束后pack一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 11:09:11 | 显示全部楼层
了解2号 发表于 2018-2-7 11:04
paint这个函数你调用了吗?

之前是可以的,按住鼠标就可以画线了,昨天安装了那两个东西后就这部分出了问题,然而后面把wheel、pygame卸载了还是不行没辙了。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 11:11:32 | 显示全部楼层
一曲肝肠断 发表于 2018-2-7 11:09
之前是可以的,按住鼠标就可以画线了,昨天安装了那两个东西后就这部分出了问题,然而后面把wheel、pygam ...

真的假的,我不相信安装别的模块会有影响,一定是你跟昨天的操作有点区别。我想问下,你的paint函数,里面的event是事件吗?那event.x是什么啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 11:23:41 | 显示全部楼层
了解2号 发表于 2018-2-7 11:11
真的假的,我不相信安装别的模块会有影响,一定是你跟昨天的操作有点区别。我想问下,你的paint函数,里 ...

代码肯定没问题,你可以拷贝去试试看,我用python3.6打的,应该是电脑哪里设置出了问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 11:26:33 | 显示全部楼层
了解2号 发表于 2018-2-7 11:11
真的假的,我不相信安装别的模块会有影响,一定是你跟昨天的操作有点区别。我想问下,你的paint函数,里 ...

paint是绑定鼠标的调用的函数,event.x\y是鼠标的点击位置
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 11:27:25 | 显示全部楼层
一曲肝肠断 发表于 2018-2-7 11:23
代码肯定没问题,你可以拷贝去试试看,我用python3.6打的,应该是电脑哪里设置出了问题

我的也是3.6的试了,没有用,然后我在paint函数里打印并没有执行打印操作,也就是说paint函数根本没有被调用

我现在看下bind方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 11:33:26 | 显示全部楼层
一曲肝肠断 发表于 2018-2-7 11:23
代码肯定没问题,你可以拷贝去试试看,我用python3.6打的,应该是电脑哪里设置出了问题

我好像找到问题了,bind中'<B2-Motion>'有问题,这个是button里绑定的东西吧?你换成Button-1是会有反应的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 11:35:20 | 显示全部楼层
了解2号 发表于 2018-2-7 11:27
我的也是3.6的试了,没有用,然后我在paint函数里打印并没有执行打印操作,也就是说paint函数根本没有被 ...

这就尴尬了。。。就是搞不懂为啥前几天还可以突然就不行了,如果是我的电脑的问题,你那边应该可以正常呀;不过我这边如果使用键盘绑定Keypress就没问题,目前只发现鼠标绑定出了问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-7 11:42:06 | 显示全部楼层
了解2号 发表于 2018-2-7 11:33
我好像找到问题了,bind中''有问题,这个是button里绑定的东西吧?你换成Button-1是会有反应的

有反应,但绑定的是鼠标的点击事件,不是绑定鼠标的移动,绑定移动的是Motion
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 12:43:37 | 显示全部楼层
一曲肝肠断 发表于 2018-2-7 11:42
有反应,但绑定的是鼠标的点击事件,不是绑定鼠标的移动,绑定移动的是Motion

但是至少确定了绑Motion时,paint函数没执行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-17 19:08:29 | 显示全部楼层
bind是B1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-27 19:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表