|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 int2str 于 2017-3-10 10:33 编辑
写了一个翻译器,输入框初始时刻显示“请输入需要翻译的内容...”
我希望在点击输入框时,上述的字符自动清除。
我写了一个test()来实现这个功能,但是没有起作用,程序运行没有报错,该怎么修改呢?
- import urllib.request
- import urllib.parse
- import json
- import tkinter
- # 获取网页翻译内容
- def translate():
- if entry0.get():
- header = {}
- 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'
- data = {}
- data['from'] = 'zh'
- data['to'] = 'en'
- data['query'] = entry0.get()
- data['transtype'] = 'translang'
- data['simple_means_flag'] = '3'
- url = 'http://fanyi.baidu.com/v2transapi'
- data = urllib.parse.urlencode(data).encode('utf-8')
- req = urllib.request.Request(url, data, header)
- respond = urllib.request.urlopen(req)
- html = respond.read().decode('utf-8')
- tranRes = json.loads(html)
- v1.set(tranRes['trans_result']['data'][0]['result'][0][1])
- else:
- v1.set('')
- # 验证初始输入框内容
- def test():
- if v0.get() == "请输入需要翻译的内容...\t":
- v0.set('')
- return True
- else:
- return False
- root = tkinter.Tk()
- root.title('我的翻译器')
- v0 = tkinter.StringVar()
- v0.set('请输入需要翻译的内容...\t')
- v1 = tkinter.StringVar()
- butt = tkinter.Button(root, text='翻译', font=('隶书', 14), command=translate)
- butt.grid(row=0, column=1)
- entry0 = tkinter.Entry(root, width=30, textvariable=v0, font=10, validate='focusin', vcmd=test)
- entry0.grid(row=0, column=0, padx=10, pady=10)
- entry1 = tkinter.Entry(root, width=30, textvariable=v1, font=10, state='readonly')
- entry1.grid(row=0, column=2, padx=10, pady=10)
- tkinter.mainloop()
复制代码 |
|