鱼C论坛

 找回密码
 立即注册
查看: 3902|回复: 3

tkinter Entry组件focusin使用问题

[复制链接]
发表于 2017-3-2 19:01:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 int2str 于 2017-3-10 10:33 编辑

写了一个翻译器,输入框初始时刻显示“请输入需要翻译的内容...”
我希望在点击输入框时,上述的字符自动清除。
我写了一个test()来实现这个功能,但是没有起作用,程序运行没有报错,该怎么修改呢?

  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. import tkinter


  5. # 获取网页翻译内容
  6. def translate():
  7.     if entry0.get():
  8.         header = {}
  9.         header['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.2263.400 QQBrowser/9.5.10388.400'
  10.         data = {}
  11.         data['from'] = 'zh'
  12.         data['to'] = 'en'
  13.         data['query'] = entry0.get()
  14.         data['transtype'] = 'translang'
  15.         data['simple_means_flag'] = '3'
  16.         url = 'http://fanyi.baidu.com/v2transapi'
  17.         data = urllib.parse.urlencode(data).encode('utf-8')
  18.         req = urllib.request.Request(url, data, header)
  19.         respond = urllib.request.urlopen(req)
  20.         html = respond.read().decode('utf-8')
  21.         tranRes = json.loads(html)
  22.         v1.set(tranRes['trans_result']['data'][0]['result'][0][1])
  23.     else:
  24.         v1.set('')


  25. # 验证初始输入框内容
  26. def test():
  27.     if v0.get() == "请输入需要翻译的内容...\t":
  28.         v0.set('')
  29.         return True
  30.     else:
  31.         return False


  32. root = tkinter.Tk()
  33. root.title('我的翻译器')
  34. v0 = tkinter.StringVar()
  35. v0.set('请输入需要翻译的内容...\t')
  36. v1 = tkinter.StringVar()
  37. butt = tkinter.Button(root, text='翻译', font=('隶书', 14), command=translate)
  38. butt.grid(row=0, column=1)
  39. entry0 = tkinter.Entry(root, width=30, textvariable=v0, font=10, validate='focusin', vcmd=test)
  40. entry0.grid(row=0, column=0, padx=10, pady=10)
  41. entry1 = tkinter.Entry(root, width=30, textvariable=v1, font=10, state='readonly')
  42. entry1.grid(row=0, column=2, padx=10, pady=10)
  43. tkinter.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-3-2 19:44:59 | 显示全部楼层
上个图 不要沉
QQ图片20170302194428.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-2 20:04:07 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-2 20:43:33 | 显示全部楼层
SixPy 发表于 2017-3-2 20:04
http://bbs.fishc.com/forum.php?mod=viewthread&tid=83444&extra=page%3D2%26filter%3Dauthor%26orderby%3 ...

什么意思?给我的提示吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-25 19:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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