【问题标题】:How does one retroactively change the bounds of a tkinter Spinbox instance?如何追溯更改 tkinter Spinbox 实例的边界?
【发布时间】:2020-12-02 10:39:04
【问题描述】:

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

我试过了:

col_spinbox.values = spin_vals

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

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

【问题讨论】:

    标签: python tkinter overwrite bounds spinbox


    【解决方案1】:

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

    简单的例子。

    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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      • 2011-03-02
      • 2018-02-03
      • 1970-01-01
      相关资源
      最近更新 更多