鱼C论坛

 找回密码
 立即注册
查看: 1353|回复: 2

[已解决]关于事件绑定的相关问题

[复制链接]
发表于 2020-9-7 23:24:48 | 显示全部楼层 |阅读模式

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

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

x
  1. import tkinter


  2. def callback(event):
  3.     char = repr(event.char)
  4.     print('键盘输入按键:', char)
  5.     if char == '0':
  6.         print('YES')
  7.     else:
  8.         print('No')


  9. root = tkinter.Tk()
  10. frame = tkinter.Frame(root, width=200, height=200)
  11. frame.bind('<Key>', callback)
  12. # 获得焦点
  13. frame.focus_set()
  14. frame.pack()
  15. root.mainloop()
复制代码


关于按键 获取了字符但是为何获取的字符转成字符串后判定是否==‘0’的时候,打印都是‘NO’呢
有没有解决的方法?和为什么打印是'no'
希望大家帮帮忙~
最佳答案
2020-9-7 23:32:50
问题在repr()这个函数上,不知道这个是干嘛用的
但是用了后,直接加了两个'',所以一直判断为Flase

要用这个函数的话, if char[1] == '0':这样能判断对
  1. >>>s = 'RUNOOB'
  2. >>> repr(s)
  3. "'RUNOOB'"
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-9-7 23:32:50 | 显示全部楼层    本楼为最佳答案   
问题在repr()这个函数上,不知道这个是干嘛用的
但是用了后,直接加了两个'',所以一直判断为Flase

要用这个函数的话, if char[1] == '0':这样能判断对
  1. >>>s = 'RUNOOB'
  2. >>> repr(s)
  3. "'RUNOOB'"
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-7 23:42:36 | 显示全部楼层
疾风怪盗 发表于 2020-9-7 23:32
问题在repr()这个函数上,不知道这个是干嘛用的
但是用了后,直接加了两个'',所以一直判断为Flase

在pycharm中没看出来是嵌套了一个引号,我还以为是repr是转字符串的
后面发现不是直接转字符串而是在原有的基础上套个字符串符号、
就比如你说的 如果是原先是字符串的 又多套了一层引号
非常感谢问题解决了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-26 22:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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