You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter合并日月下拉框选中值生成日期报str不可调用错误如何解决

报错原因
  • 核心触发点位于add()函数的数据库插入逻辑:你已经通过data_value = data()完成了函数调用,拿到的data_value是字符串类型的日期拼接结果,后续又错误地给data_value添加了括号写成data_value(),相当于尝试把字符串对象作为可调用函数执行,直接触发该类型错误。
  • 额外隐患:data()函数内部的局部变量名day、month和全局定义的StringVar类型的day、month重名,会覆盖全局变量的指向,后续其他位置调用全局的这两个变量时会出现异常。
修复方案
  1. 直接修改add()函数的插入代码,去掉data_value后的多余括号即可解决报错:
#insert in database
def add():
    data_value=data()
    # 去掉data_value后的括号,直接传入字符串结果
    db.insert(aaaa.get(), bbbb.get(), data_value)
  1. 可选优化:修改data()函数内的局部变量名,避免和全局变量重名,提升代码可维护性:
def data():
    day_str = combo_day.get()
    month_str = combo_month.get()
    result = day_str + '.' + month_str
    return result

内容的提问来源于stack exchange,提问作者user17423825

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:36:08