I am facing issue with tkinter button style "_tkinter.TclError: Invalid state name a"
I am facing issue with tkinter button style "_tkinter.TclError: Invalid state name a"
我试图做一个使用 tkinter
制作屏幕键盘的练习,我几乎完成了这个程序,它工作正常,但问题是当我做一些最后一刻的润色时,比如设置键的样式我遇到了错误。
style=ttk.Style()
style.configure("mybutton.TButton", font=("montserrat", "10", "bold"),
foreground="white", background="green")
style.configure("myBigbutton.TButton", font=("monserrat", "24", "bold"),
foreground="white", background="green")
style.map("myButton.TButton", background=('active', 'green'))
我正在为两种不同类型的按钮定义两种不同的样式,当我使用这种 map
条件时,我收到错误 _tkinter.TclError: Invalid state name a
。如果我将 active
更改为 pressed
我会得到
_tkinter.TclError: Invalid state name p
作为错误。
根据 Style.map()
方法的文档,
Each key in kw is an option and each value should be a list or a tuple (usually) containing statespecs grouped in tuples, lists, or some other preference.
这只是意味着您需要 嵌套 statespecs 的值 - 每个都是序列 - 对于外部 list
内的 background
关键字或 tuple
即使只有一个.
换句话说,你需要写下如下所示的值:
style.map("myButton.TButton", background=[('active', 'green')])
我试图做一个使用 tkinter
制作屏幕键盘的练习,我几乎完成了这个程序,它工作正常,但问题是当我做一些最后一刻的润色时,比如设置键的样式我遇到了错误。
style=ttk.Style()
style.configure("mybutton.TButton", font=("montserrat", "10", "bold"),
foreground="white", background="green")
style.configure("myBigbutton.TButton", font=("monserrat", "24", "bold"),
foreground="white", background="green")
style.map("myButton.TButton", background=('active', 'green'))
我正在为两种不同类型的按钮定义两种不同的样式,当我使用这种 map
条件时,我收到错误 _tkinter.TclError: Invalid state name a
。如果我将 active
更改为 pressed
我会得到
_tkinter.TclError: Invalid state name p
作为错误。
根据 Style.map()
方法的文档,
Each key in kw is an option and each value should be a list or a tuple (usually) containing statespecs grouped in tuples, lists, or some other preference.
这只是意味着您需要 嵌套 statespecs 的值 - 每个都是序列 - 对于外部 list
内的 background
关键字或 tuple
即使只有一个.
换句话说,你需要写下如下所示的值:
style.map("myButton.TButton", background=[('active', 'green')])