参考文章链接:https://blog.csdn.net/dushine2008/article/details/85335307
在他的基础上做了点小小小改动,dict1.txt放德语,dict2.txt放中文,然后实现了互译,而不是只能外文对中文的单向翻译。
全部代码如下:
import tkinter
# 读取内容并执行搜索的方法
def search(word):
# 读取字典内所有内容 dict1放德语 dict2放中文
file1 = open("dict1.txt", encoding='utf-8')
file2 = open("dict2.txt", encoding='utf-8')
dict_list1 = file1.readlines()
dict_list2 = file2.readlines()
# print(dict_list1)
global i,j
i =0
# 这个循环输入德语,翻译结果
# 遍历读取的内容,查看用户输入的英文是否存在
for dict00 in dict_list1:
# 不区分大小写查询,查询到就输出英文和中文
if word.upper() == dict00.upper().split('\n')[0]:
# 把查询的内容返回并结束循环
return "%s: %s" % (dict_list1[i].split('\n')[0], dict_list2[i])
i += 1
# 这个循环输入中文,翻译结果
j = 0
for dict01 in dict_list2:
if word == dict01.split('\n')[0]:
return "%s:%s" % (dict_list2[j].split('\n')[0], dict_list1[j])
j += 1
return "您查询的单词尚未收录,敬请期待。。。\n"
# 关闭流
file1.close()
def search_word():
word = entry.get().strip()
if len(word) != 0:
# 执行搜索的方法,获取搜索的结果
result = search(word)
# 把结果插入到文本显示框
txt.insert(tkinter.INSERT, result)
else:
txt.insert(tkinter.INSERT, "内容不能为空\n")
# 下面这些全是设计页面的,不必深究,看见知道咋用就好了,不会百度,千万别死记,
# 创建主窗口
window = tkinter.Tk()
# 添加标题
window.title("德语字典")
# 设置窗口尺寸
window.geometry("400x300")
# 内容输入块
frame_input = tkinter.Frame(window, width=300, height=30)
frame_input.place(x=50, y=10)
# 输入框
entry = tkinter.Entry(frame_input, width=30)
entry.pack(side="left")
# 按钮
btn_in = tkinter.Button(frame_input, text="查询", width=5, command=search_word)
btn_in.pack(side="right", padx=5)
# 文本显示块
frame_txt = tkinter.Frame(window, width=350, height=200)
frame_txt.place(x=20, y=40)
# 文本显示框的滚动条
scroll_bar = tkinter.Scrollbar(frame_txt)
scroll_bar.pack(side="right", fill=tkinter.Y)
# 内容显示框
txt = tkinter.Text(frame_txt, width=50, height=18)
txt.pack(side="bottom", pady=15)
# 关联滚动条和文字
txt.config(yscrollcommand=scroll_bar.set)
scroll_bar.config(command=txt.yview)
search_word()
# 显示
window.mainloop()
.py文件外边放两个txt:
这样做的原因只是因为方便粘贴谷歌翻译的结果。。。。