鱼C论坛

 找回密码
 立即注册
查看: 1173|回复: 8

[已解决]关于Tkinter Entry模块的问题

[复制链接]
发表于 2020-6-12 17:22:06 | 显示全部楼层 |阅读模式

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

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

x
各位大佬小弟有个问题要请教下,就是我用tkinter的Entry来获取我输入的字符。能否有方法让我们输入的空格直接不读取并且不显示在Entry上面吗
很急很急各位有思路就进来说说吧谢谢啦
最佳答案
2020-6-13 01:24:49
joelau 发表于 2020-6-12 23:55
谢了兄弟因为这个问题被组员问了好久都没有解决的方法

类似这样的  但是我没搞明白为什么只能验证一次

  1. from tkinter import *

  2. master = Tk()

  3. def test():
  4.     if ' ' in e1.get():
  5.         return False
  6.     return True

  7. def space():
  8.     text = e1.get().replace(' ','')
  9.     e1.delete(0,END)
  10.     e1.insert(0,text)
  11.     return True


  12. v = StringVar()

  13. e1 = Entry(master, textvariable=v, validate="key", validatecommand=test,invalidcommand=space)

  14. e1.pack(padx=10, pady=10)


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

使用道具 举报

发表于 2020-6-12 17:26:04 | 显示全部楼层
用验证呗,设置每次输入时候验证
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 18:15:29 From FishC Mobile | 显示全部楼层
Entry有一個驗證功能 可以驗證每一次輸入的字符
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-12 22:21:25 | 显示全部楼层
Twilight6 发表于 2020-6-12 17:26
用验证呗,设置每次输入时候验证

哪个验证兄弟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 22:24:38 | 显示全部楼层

validate 参数 设置为 'key' 就是输入时候验证 会自动调用 command 里面的函数

等下我写个模板给你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-12 23:55:55 | 显示全部楼层
Twilight6 发表于 2020-6-12 22:24
validate 参数 设置为 'key' 就是输入时候验证 会自动调用 command 里面的函数

等下我写个模板给你

谢了兄弟因为这个问题被组员问了好久都没有解决的方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-13 01:24:49 | 显示全部楼层    本楼为最佳答案   
joelau 发表于 2020-6-12 23:55
谢了兄弟因为这个问题被组员问了好久都没有解决的方法

类似这样的  但是我没搞明白为什么只能验证一次

  1. from tkinter import *

  2. master = Tk()

  3. def test():
  4.     if ' ' in e1.get():
  5.         return False
  6.     return True

  7. def space():
  8.     text = e1.get().replace(' ','')
  9.     e1.delete(0,END)
  10.     e1.insert(0,text)
  11.     return True


  12. v = StringVar()

  13. e1 = Entry(master, textvariable=v, validate="key", validatecommand=test,invalidcommand=space)

  14. e1.pack(padx=10, pady=10)


  15. mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 19:37:51 | 显示全部楼层
Twilight6 发表于 2020-6-13 01:24
类似这样的  但是我没搞明白为什么只能验证一次

重新试过了也只是可以验证一次不过帮助很大了谢了xd
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 19:38:51 | 显示全部楼层
joelau 发表于 2020-6-16 19:37
重新试过了也只是可以验证一次不过帮助很大了谢了xd

如果你什么时候研究出来为什么只验证一次 一定回来教教我哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-22 00:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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