我无法从python中的函数获取返回值

时间:2019-05-18 09:45:47

标签: python-3.x tkinter tkinter-entry

在上述代码中,我试图获取函数内部的“文本”值。在带有一个变量“ A”的函数之外,但是在这里我什么也没得到。有人可以在这个问题上帮助我吗

此外,当我在函数内编写打印语句时,它也在打印值

在此处输入代码

from tkinter import *
window = Tk()
window.geometry('500x500')
def callback(self):
    text = No_of_chances.get()
    return text
No_of_chances = Entry(window)
No_of_chances.place(x=50, y=300)
No_of_chances.bind('<Return>', callback)
A=text
print(A)

window.mainloop()

1 个答案:

答案 0 :(得分:1)

尝试执行text时未定义A=text变量,这是因为仅在按下回车按钮时才调用函数callback()。因此,当您尝试将text分配给A

时不存在

回调函数可以很好地工作,它可以在您拥有的Number_of_chances条目中获取当前字符串,然后将其返回。

话虽这么说,您的问题尚不清楚,因为如果您提供某些背景信息,我或其他人可能会提供任何上下文信息,那么您在按Enter时从Entry获得的文本将不予处理能够更好地解决您的问题。

这是一个解决方案,因此A将包含您想要的值。

from tkinter import *

window = Tk()
window.geometry('500x500')
text = ""

def callback(event):
    text = No_of_chances.get()
    print(text)
    return text

No_of_chances = Entry(window)
No_of_chances.place(x=50, y=300)
No_of_chances.bind('<Return>', callback)
A=text
print(A)

window.mainloop()