Tkinter样式映射(Style Map):如何设置按钮默认文本颜色?
解决ttk按钮默认状态文本颜色设置问题
要设置ttk按钮默认状态的文本颜色,你可以在样式映射的foreground列表中添加一个匹配非禁用、非按下、非激活状态的条目——用!前缀表示“排除该状态”,组合起来就是('!disabled', '!pressed', '!active', 颜色值),这样就能精准匹配按钮的默认常态。
修改后的代码示例:
import tkinter as tk from tkinter import ttk root = tk.Tk() style = ttk.Style() style.map('TButton', foreground=[ ('!disabled', '!pressed', '!active', 'green'), # 默认状态文本颜色 ('disabled', 'yellow'), ('pressed', 'red'), ('active', 'blue') ] ) ttk.Button(root, text='Button').pack(pady=10) root.mainloop()
也可以用更简洁的写法('', 'green')指代默认状态,但前者的状态组合写法更直观,能明确表达是排除所有特殊状态的常规情况。
内容的提问来源于stack exchange,提问作者Another_coder
相关产品推荐
相关产品推荐

