Python 3.x 我的tkinter电子邮件切片器应用程序有什么问题?

Python 3.x 我的tkinter电子邮件切片器应用程序有什么问题?,python-3.x,tkinter,Python 3.x,Tkinter,制作电子邮件切片器, 我遇到的一些错误是: AttributeError:“bool”对象没有属性“index” ValueError:未找到子字符串 现在,对于这个特定的代码,我没有得到任何结果,当我点击按钮时,它什么也不做 你需要 调用inp.get()内部callback(),而不是作为参数的默认值 使用find()而不是startswith() 在函数内部调用var.set(…) 请注意,以上内容不足以检查输入电子邮件是否有效,例如输入中有两个“@” root = Tk() e =

制作电子邮件切片器, 我遇到的一些错误是: AttributeError:“bool”对象没有属性“index” ValueError:未找到子字符串 现在,对于这个特定的代码,我没有得到任何结果,当我点击按钮时,它什么也不做

你需要

  • 调用
    inp.get()
    内部
    callback()
    ,而不是作为参数的默认值
  • 使用
    find()
    而不是
    startswith()
  • 在函数内部调用
    var.set(…)
请注意,以上内容不足以检查输入电子邮件是否有效,例如输入中有两个“@”

root = Tk()
e = Entry(root)
e.grid(row = 6, column = 6)
s = Label(root)
s.grid(row = 1, column = 1)
wel = Label(root, text = "whats your email")
wel.grid(row = 1, column = 5)
inp = Entry(root)
inp.grid(row = 3, column = 5)
def callback(re = inp.get()):
        us = re[:re.startswith("@")]
        uss = re[re.startswith("@")+1:]
var = StringVar()
var.set(us + uss)
sub = Button(root, text = "submit", command = lambda:callback())
sub.grid(row = 5, column = 5)
final = Label(root, textvariable = var)
final.grid(row = 5, column = 6)

root.mainloop()
def callback():
    re = inp.get()
    pos = re.find("@")
    if pos >= 0:
        user = re[:pos]
        domain = re[pos+1:]
        var.set(user+","+domain)
    else:
        var.set("Invalid email")