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

Python Tkinter绑定StringVar到Entry时触发TclError报错

问题排查与解决

报错原因

报错信息_tkinter.TclError: unknown option "-stringvarialbe"的核心原因是参数名拼写错误:
Tkinter的Entry组件绑定StringVar的正确参数是textvariable,你在创建第二个Entry时误写为stringvarialbe(不仅开头错误,还多了一个字母a)。

修正后的代码片段

仅需修正参数名拼写即可解决问题,完整修正后的代码如下:

import tkinter as tk

root = tk.Tk()
root.geometry("240x100")
root.title('Login')
root.resizable(0, 0)

psw = tk.StringVar(root)
psw2 = tk.StringVar(root)

root.columnconfigure(0, weight=1)
root.columnconfigure(1, weight=3)

username_label = tk.Label(root, text="contraseña:")
username_label.grid(column=0, row=0, sticky=tk.W, padx=5, pady=5)

username_entry = tk.Entry(root, textvariable=psw)
username_entry.grid(column=1, row=0, sticky=tk.E, padx=5, pady=5)

username_label = tk.Label(root, text="Repita la contraseña:")
username_label.grid(column=0, row=1, sticky=tk.W, padx=5, pady=5)

# 修正参数名拼写错误
username_entry = tk.Entry(root, textvariable=psw2)
username_entry.grid(column=1, row=1, sticky=tk.E, padx=5, pady=5)

login_button = tk.Button(root, text="Register")
login_button.grid(column=1, row=3, sticky=tk.E, padx=5, pady=5)

root.mainloop()

补充说明

你创建第一个Entry组件时使用的textvariable=psw是正确写法,仅需修正第二个Entry的参数名拼写,程序即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:05:32