繁体   English   中英

当输入字段为空并单击翻译按钮时,如何使 output 字段在 Tkinter 中不返回任何内容?

[英]When the entry field is empty, and I click the translate button, how do I make the output field return nothing in Tkinter?

我正在使用 python 字典推进翻译应用程序项目。 有输入字段、翻译按钮和 output 字段。 当条目与字典中的键不匹配时,会显示一个错误代码(“找不到单词”)。 但是现在,当输入字段为空并且您单击按钮时,它仍然返回“找不到单词”,这有点愚蠢。 当用户没有输入任何单词时,我如何不返回任何内容? 谢谢。 下面是代码:

from tkinter import *
import tkinter. messagebox
root=Tk()
root.geometry('250x250')
root.title("Meta' Translator")
root.configure(background="#35424a")

#Entry widget object
textin = StringVar()

#press ENTER key to activate translate button
def returnPressed(event):
  clk()

def clk():
    entered = ent.get().lower() #Get user input and convert to lowercase
    output.delete(0.0,END)
    try:
        textin = exlist[entered]
    except:
        textin = 'Word not found'
    output.insert(0.0,textin)

#heading
lab0=Label(root,text='Translate English Words to Meta\'',bg="#35424a",fg="silver",font=('none 11 
bold'))
lab0.place(x=0,y=2)

#Entry field
ent=Entry(root,width=15,font=('Times 18'),textvar=textin,bg='white')
ent.place(x=30,y=30)

#focus insertion point on entry field
ent.focus()

#Search button
but=Button(root,padx=1,pady=1,text='Translate',command=clk,bg='powder blue',font=('none 18 
bold'))
but.place(x=60,y=90)

#press ENTER key to activate Translate button
root.bind('<Return>', returnPressed)

#output field
output=Text(root,width=15,height=1,font=('Times 18'),fg="black")
output.place(x=30,y=170)

#prevent sizing of window
root.resizable(False,False) 

#Dictionary
exlist={
    "hat":"ɨ̀də̀m", 
    "hoe":"əsɔ́",
    "honey":"jú",
    "chest":"ɨgɔ̂",
    "eye":"ɨghə́",
    "ear":"ǝ̀tǒŋ",
    }

root.mainloop()

你有没有试过这个:

def clk():
    entered = ent.get().lower() #Get user input and convert to lowercase
    output.delete("0.0", END)
    if len(entered.strip(" ")) > 0:
        try:
            textin = exlist[entered]
        except:
            textin = "Word not found"
        output.insert("0.0", textin)

基本上,如果字符串的长度为 0,它就不会运行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM