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

Tkinter中Button控件的command属性异常、报语法错误如何解决?

问题修复方案

直接报错原因

你遇到的SyntaxError是因为实例化Button时,text参数和command参数之间缺少逗号分隔,Python解析器无法识别连续的参数写法,因此抛出无效语法错误。

其他需要修正的问题

  • command参数绑定回调函数时,不要加括号():写click()会在按钮定义阶段直接执行函数,而非点击按钮时触发,正确写法是传递函数本身click。
  • 不要直接将grid()方法的返回值赋值给按钮变量:grid()返回值为None,赋值后你定义的button变量会变为空值,后续无法操作该按钮,建议将实例化和布局操作拆分。
  • 回调函数的打印语句缺少f-string前缀:你使用的大括号变量占位符是Python 3.6+支持的f-string语法,需要在字符串前加f才会正常解析变量,否则会直接输出大括号和变量名。
  • (可选优化)按钮文本Sumbit为拼写错误,正确拼写为Submit。

修正后的代码

按钮创建部分

# 先实例化按钮,传递无括号的回调函数
button = Button(main_window, text="Submit", command=click)
# 单独调用布局方法
button.grid(row=3, column=1)

回调函数部分

def click():
    # 字符串前加f启用f-string解析
    print(f"The entered name is {edit_txt1} and the entered age is {edit_txt2}.")

注意:请确保edit_txt1和edit_txt2变量在click函数的作用域内可访问,否则会触发NameError。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:15:07