1

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

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

我得到的错误是:

_tkinter.TclError: unknown option "-state"
4

1 回答 1

2

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

根据ttk 状态

状态规范或 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()
于 2017-12-12T08:48:00.660 回答