0

对于我的程序,我需要根据用户更新的信息更改可接受值的列表。有什么方法可以做到这一点,或者我可以覆盖一个属性吗?

我简单地尝试了:

col_spinbox.values = spin_vals

其中 spin_vals 是我想要的值的元组,而 col_spinbox 是我试图覆盖接受的值的实例。但这没有用。

从调查来看,属性值似乎存储为一个字符串,每个值之间都有空格。所以我以这种方式格式化了 spin_vals,但它仍然不起作用。是否有打算使用的方法,还是没有办法覆盖可接受的值?

4

1 回答 1

1

更改 tkinter 小部件的属性或选项的一种常见方法是使用通用config()小部件方法 - 对 aSpinboxvalues选项执行此操作确实有效。

简单的例子。

import tkinter as tk


root = tk.Tk()

spinbox = tk.Spinbox(root, values=('red', 'blue', 'green'))
spinbox.pack()

def new_values(spinbox):
    spinbox.config(values=('yellow', 'cyan', 'magenta'))

chg_btn = tk.Button(root, text="Chg", command=lambda: new_values(spinbox))
chg_btn.pack()

root.mainloop()
于 2020-08-12T17:11:43.057 回答