我准备用tkinter和translate库做一个翻译器
from tkinter import *
from translate import Translator
def choose_from_lang():
global lang1
from_lang_menu = Menu(root)
from_lang_menu.add_cascade(Label="转换语言", menu=from_lang_menu)
from_lang_menu.add_separator()
from_lang_menu.add_command(Label="汉语", command=lambda: lang1="ZH")
from_lang_menu.add_separator()
from_lang_menu.add_command(Label="English", command=lambda: lang1="EN-US")
from_lang_menu.add_separator()
from_lang_menu.add_command(Label="Français", command=lambda: lang1="FR")
from_lang_menu.add_separator()
from_lang_menu.add_command(Label="Русский", command=lambda: lang1="RU")
from_lang_menu.add_separator()
from_lang_menu.add_command(Label="español", command=lambda: lang1="ES")
from_lang_menu.add_separator()
from_lang_menu.add_command(Label="عربي", command=lambda: lang1="AR")
def choose_to_lang():
global lang2
to_lang_menu = Menu(root)
to_lang_menu.add_cascade(Label="欲转换语言", menu=to_lang_menu)
to_lang_menu.add_separator()
to_lang_menu.add_command(Label="汉语", command=lambda: lang2="ZH")
to_lang_menu.add_separator()
to_lang_menu.add_command(Label="English", command=lambda: lang2="EN-US")
to_lang_menu.add_separator()
to_lang_menu.add_command(Label="Français", command=lambda: lang2="FR")
to_lang_menu.add_separator()
to_lang_menu.add_command(Label="Русский", command=lambda: lang2="RU")
to_lang_menu.add_separator()
to_lang_menu.add_command(Label="español", command=lambda: lang2="ES")
to_lang_menu.add_separator()
to_lang_menu.add_command(Label="عربي", command=lambda: lang2="AR")
def text():
Label(root, text="请输入翻译内容").grid(row=0, column=0)
en1 = Entry(root)
en1.grid(row=0, column=1)
def translate():
global lang1
global lang2
en2 = Entry(root, state=DISABLE)
en2.grid(row=0, column=2)
text1 = en1.get()
tran = Translator(from_lang=lang1, to_lang=lang2).translate(text1)
en2.insert(1, tran)
root = Tk()
root.title("翻译器")
Button(root, text="翻译", command=translate).grid(row=0, column=3)
lang1 = ""
lang2 = ""
root.mainloop()
报错:invaild syntax
报错坐标:第9行的lang1="ZH"的等号处
百思不得其解
程序运行成功
改这样可以
command = lambda: "ZH"
或者先给lang1赋值,再放进去
lang1 = "ZH"
command = lambda: lang1