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

如何获取Entry组件关联的StringVar对象而非文本值?

获取Entry组件关联的StringVar对象问题

我正尝试获取与Entry组件关联的StringVar对象,但始终无法实现。之前找到的相关问题答案均不适用:

  • entry["textvariable"] 和 entry.cget("textvariable") 仅返回StringVar的名称而非对象本身
  • 按说明应该能通过entry.getvar(name)从名称获取StringVar,但该方法返回的是StringVar的文本内容(str类型)而非对象本身

我使用的是Python 3.11.9版本,不清楚为何会出现这种情况,同时希望找到无需依赖StringVar名称的方法——毕竟未显式设置StringVar的Entry组件,似乎关联着一个无名称的StringVar。

示例代码如下:

from tkinter import *
from tkinter.ttk import *

root = Tk()

stringVar = StringVar(root, "test") # 实际场景中无法直接访问这个变量,只能通过Entry获取
entry = Entry(root, textvariable=stringVar)
entry.pack()

name1 = entry["textvariable"]
name2 = entry.cget("textvariable")
print(name1 == name2) # 输出True

shouldBeStringVar = entry.getvar(name1)

print(name1, type(name1)) # 输出 PY_VAR0 <class 'str'>
print(shouldBeStringVar, type(shouldBeStringVar)) # 输出 test <class 'str'>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:42:05