有没有办法根据 ttk 按钮状态分配各种图像?
Is there a way to assign various images based upon a ttk button state?
我正在使用 GUI,我想根据按钮的状态使用各种图像设置我的 ttk 按钮。例如:
import tkinter as tk
from tkinter import PhotoImage, ttk
activeImage = PhotoImage(file="images/active.png")
disabledImage = PhotoImage(file="images/disabled.png")
normalImage = PhotoImage(file="images/normal.png")
button = ttk.Button(frame,\
activeimage=activeImage,\
disabledimage=disabledImage, \
normalimage=normalImage,\
command=lambda pass)
我没有在 tk 文档中找到任何解释如何执行此操作的内容,也没有在此站点上找到任何内容。如果已经在其他地方问过这个问题,我深表歉意。
是的,ttk 小部件支持使用 Style
的 map
方法将属性映射到状态。
例如:
style = ttk.Style()
style.map(
"Custom.TButton",
image=[
("disabled", disabledImage),
("!disabled", normalImage),
("active", activeImage)
]
)
接下来,创建一个具有这种样式的按钮:
button = ttk.Button(frame, style="Custom.TButton")
tkdocs.com 站点有一个关于创建自定义样式的很好的教程。参见 Styles and Themes
我正在使用 GUI,我想根据按钮的状态使用各种图像设置我的 ttk 按钮。例如:
import tkinter as tk
from tkinter import PhotoImage, ttk
activeImage = PhotoImage(file="images/active.png")
disabledImage = PhotoImage(file="images/disabled.png")
normalImage = PhotoImage(file="images/normal.png")
button = ttk.Button(frame,\
activeimage=activeImage,\
disabledimage=disabledImage, \
normalimage=normalImage,\
command=lambda pass)
我没有在 tk 文档中找到任何解释如何执行此操作的内容,也没有在此站点上找到任何内容。如果已经在其他地方问过这个问题,我深表歉意。
是的,ttk 小部件支持使用 Style
的 map
方法将属性映射到状态。
例如:
style = ttk.Style()
style.map(
"Custom.TButton",
image=[
("disabled", disabledImage),
("!disabled", normalImage),
("active", activeImage)
]
)
接下来,创建一个具有这种样式的按钮:
button = ttk.Button(frame, style="Custom.TButton")
tkdocs.com 站点有一个关于创建自定义样式的很好的教程。参见 Styles and Themes