Tkinter获取Entry用户输入做逻辑判断报'str'对象不可调用错误
报错原因
你遇到的'str' object is not callable报错由两个核心问题导致:
- 语法逻辑错误:
entry1.get()返回的是字符串类型值,你写的text('Comedy')是把text这个字符串变量当做可调用的函数/方法传入参数执行,字符串本身没有调用能力,直接触发类型报错。判断字符串和目标值是否相等应该用==比较运算符,而非函数调用写法。 - 时序逻辑错误:你在组件刚初始化、界面还没渲染完成、用户还没输入内容时就执行
text = entry1.get(),就算语法写对,也只能拿到空字符串,永远无法获取用户后续输入的内容。
修正方案
- 新增触发控件(比如按钮),等用户完成输入后,通过按钮绑定的回调函数实时获取Entry输入框的内容
- 把错误的函数调用判断,改成字符串相等比较逻辑
修正后的可运行代码:
from tkinter import * root = Tk() root.geometry('1000x1000') entry1 = Entry(root, width=20) entry1.pack() def get_recommend(): # 触发时实时获取输入框内容 input_text = entry1.get() # 用比较运算符判断输入内容 if input_text == 'Comedy': print('Friends') # 新增按钮绑定触发逻辑 confirm_btn = Button(root, text='获取推荐', command=get_recommend) confirm_btn.pack() root.mainloop()
运行后在输入框填入Comedy,点击按钮就会在控制台输出Friends,后续你可以在判断逻辑里追加其他类型电视剧的匹配规则。
内容的提问来源于stack exchange,提问作者user19267060
相关产品推荐
相关产品推荐

