gpt4 book ai didi

Python tkinter : Using a "textvariable" in a combobox seems useless

转载 作者:太空宇宙 更新时间:2023-11-04 10:12:38 25 4
gpt4 key购买 nike

在 tkinter 中创建组合框时使用 textvariable 属性似乎完全没用。有人可以解释一下目的是什么吗?我查看了 Tcl 文档,它说 textvariable 用于设置默认值,但看起来在 tkinter 中你只需使用 .set 方法即可。

示例说明我的意思:

这行不通...

from Tkinter import *
import ttk

master = Tk()

test = StringVar()
country = ttk.Combobox(master, textvariable=test)
country['values'] = ('USA', 'Canada', 'Australia')
country.pack()

# This does not set a default value...
test="hello"

mainloop()

这确实有效。

from Tkinter import *
import ttk

master = Tk()

country = ttk.Combobox(master)
country['values'] = ('USA', 'Canada', 'Australia')
country.pack()

# This does set a default value.
country.set("hello")

mainloop()

如果您应该只使用 .set.get 方法,那么将任何内容分配给 textvariable 有什么意义?网上的每个例子似乎都使用了textvariable,但为什么呢?这似乎完全没有意义。

最佳答案

由于 Python 没有类型安全,您将用字符串覆盖对 StringVar 对象的引用。要设置该值,请调用 set 方法:

test = StringVar()
country = ttk.Combobox(master, textvariable=test)
#...
test.set("hello")

关于Python tkinter : Using a "textvariable" in a combobox seems useless,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com