我想在检查目录中是否存在某些文件后更改radiobutton的颜色,但无法实现它,因为不确定configure -background color
是否适用于单选按钮。
以下是示例代码
set topdir $path
ttk::checkbutton .top.d.z.$t -text $v -variable s -command [list select_lib $v $elem $g $t] $t] \
-value $v.kill -padx 2 -pady 2
if {file exist $path/rc.log == 1} {
#change color to green in widget
} else {
# retain same background of radio button
}
请建议任何方法来实现这一目标。
答案 0 :(得分:1)
好的,感谢RLE和Brad Lanam在维基上对ttk风格的描述。
创建并定位radiobutton:
pack [ttk::radiobutton .b -text foo]
基于默认的TRadiobutton
样式创建自定义样式,背景设置为绿色:
ttk::style configure greenstyle.TRadiobutton -background green
将此样式应用于radiobutton以将背景变为绿色:
.b configure -style greenstyle.TRadiobutton
恢复正常背景颜色:
.b configure -style TRadiobutton
在主题小部件上更改颜色等时,可以决定更改
TRadiobutton
):这会影响所有相同类型的小部件greenstyle.TRadiobutton
)C:\Tcl\lib\tk8.6\ttk
目录中的示例):仅限专家。由Brad Lanam编辑:
有关ttk :: radiobutton颜色的更多信息
一些定义:
可以使用ttk::style
命令设置这些选项:
ttk::style configure greenstyle.TRadiobutton -indicatorcolor lightgreen
ttk::style map greenstyle.TRadiobutton -indicatorcolor \
[list selected darkgreen pressed white]
如上所述应用设置和重置。
文档: pack, ttk::radiobutton (widget), Introduction to the Tk theme engine, Changing Widget Colors (ttk::radiobutton)