正如你可以在标题中看到我想要创建一个函数(!),让Toplevel弹出一个Entry和一个确认以及一个关闭按钮。当按下关闭按钮''应该返回但是如果按下确认按钮,则应该获得转发文本。
我的想法:
def func(root):
returnvar=''
def setreturn():
global returnvar
returnvar=root.toplevel.get()
root.toplevel.destroy()
root.toplevel=Toplevel(root)
root.toplevel.geometry('+%s+%s' % (root.winfo_pointerx(),root.winfo_pointery()))
root.toplevel.overrideredirect(True)
root.toplevel.entry=Entry(root.toplevel)
root.toplevel.entry.pack(side=TOP)
root.toplevel.confirm=Button(root.toplevel,text='Confirm',command=setreturn)
root.toplevel.confirm.pack(side=LEFT)
root.toplevel.cancel=Button(root.toplevel,text'Cancel',command=root.toplevel.destroy)
root.toplevel.cancel.pack(side=RIGHT)
while True:
try: root.toplevel.winfo_exists()
except: break
return returnvar
但是有一个更好的方式,而不是那个丑陋的循环......