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

Tkinter报错TypeError: get()缺少位置参数index1问题排查

错误根因及修复方案

报错的核心原因是你搞混了Tkinter中Entry单行输入框和Text多行文本框的方法调用规则,之前加参数改错了组件,根本没给真正触发报错的方法传参。

具体错误点:

  • 触发报错的是comment.get()这行:comment是Text组件,它的get()方法要求必须传入起始索引、结束索引两个位置参数,你这里没有传任何参数,才会抛出缺少参数的异常。你之前尝试给get方法加1.0、end-1c这类参数,全加在了test组件上,完全改错了对象。
  • 不止get方法,你后续的delete清空方法也写反了参数规则,就算解决了get的报错,清空输入框时也会触发同类错误,两类组件的方法规则如下:
    • Entry单行输入框(对应代码里的fullname、test):
      • get()无需传参,直接调用即可获取全部输入内容
      • 清空内容调用delete(0, 'end')
    • Text多行文本框(对应代码里的comment):
      • get()必须传两个索引参数,获取全部有效内容用get('1.0', 'end-1c')即可,end-1c会自动忽略文本框末尾自动追加的多余换行符
      • 清空内容调用delete('1.0', 'end')

修正后的SaveData函数代码如下,直接替换原函数即可:

def SaveData():
    msg = conn.Add(fullname.get(), SpanGender.get(), comment.get('1.0', 'end-1c'), test.get())
    fullname.delete(0, 'end')
    comment.delete('1.0', 'end')
    test.delete(0, 'end')
    showinfo(title='Add Info', message=msg)

额外提一个无关报错的小问题:你写样式配置时,循环列表里的TRadioutton拼写错误,正确写法是TRadiobutton,少写了一个字母b,会导致单选按钮的样式配置不生效,顺手修正即可。

内容的提问来源于stack exchange,提问作者Muhammad Al Azzreen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 01:18:26