如何(重新)启用tkinter ttk Scale小部件后禁用它?

时间:2017-12-12 08:23:40

标签: python tkinter widget ttk tkinter-scale

我在禁用它后试图在Python tkinter中重新启用我的Scale小部件,但它不起作用。我尝试了多种选择,但都没有。

s.state(["normal"]);
s.configure(state='normal');

我得到的错误是:

_tkinter.TclError: unknown option "-state"

1 个答案:

答案 0 :(得分:2)

由于您使用ttk窗口小部件,因此需要重新启用窗口小部件的状态为!disabled

根据ttk states

  

状态规范或stateSpec是状态名称列表,可选地带有感叹号(!)前缀,表示该位已关闭。

try:
    import tkinter as tk
    import tkinter.ttk as ttk
except ImportError:
    import Tkinter as tk
    import ttk


root = tk.Tk()

scale = ttk.Scale(root)
scale.pack()

#   disable scale
scale.state(['disabled'])
#   enable scale
scale.state(['!disabled'])

root.mainloop()