Tcl/Tk 8.5中单选按钮的颜色

Tcl/Tk 8.5中单选按钮的颜色,tcl,tk,Tcl,Tk,是否可以修改单选按钮点的颜色(即,仅修改菱形/圆形的填充颜色)? 我已经在使用经典主题,以获得旧钻石。但不幸的是,这些钻石的填充颜色总是一些红色,我需要明亮的绿色 可能吗?也许通过创建一个自己的小部件来“继承/扩展”基本单选按钮 欢迎提出任何建议 亲切问候,, mefiX命令的单选按钮具有-selectcolor选项。只需指定此选项的颜色 set a 1 radiobutton .b1 -selectcolor green -variable a -value 1 -text "Option 1

是否可以修改单选按钮点的颜色(即,仅修改菱形/圆形的填充颜色)? 我已经在使用经典主题,以获得旧钻石。但不幸的是,这些钻石的填充颜色总是一些红色,我需要明亮的绿色

可能吗?也许通过创建一个自己的小部件来“继承/扩展”基本单选按钮

欢迎提出任何建议

亲切问候,,
mefiX

命令的
单选按钮具有
-selectcolor
选项。只需指定此选项的颜色

set a 1
radiobutton .b1 -selectcolor green -variable a -value 1 -text "Option 1"
radiobutton .b2 -selectcolor green -variable a -value 2 -text "Option 2"
radiobutton .b3 -selectcolor green -variable a -value 3 -text "Option 3"
pack .b1 .b2 .b3
如果不想单独指定每个radiobutton的颜色,可以在xresources数据库中设置此颜色

option add *Radiobutton.selectColor green
set a 1
radiobutton .b1 -variable a -value 1 -text "Option 1"
radiobutton .b2 -variable a -value 2 -text "Option 2"
radiobutton .b3 -variable a -value 3 -text "Option 3"
pack .b1 .b2 .b3

编辑:ttk的解决方案:

ttk::style theme use classic
ttk::style map TRadiobutton -indicatorcolor {pressed #d9d9d9 selected green}
set a 1
ttk::radiobutton .b1 -variable a -value 1 -text "Option 1"
ttk::radiobutton .b2 -variable a -value 2 -text "Option 2"
ttk::radiobutton .b3 -variable a -value 3 -text "Option 3"
pack .b1 .b2 .b3
如果不想重新定义全局样式,可以为radiobutton定义自己的ttk::style,并将其用于特定的小部件:

ttk::style layout TRadiobuttonGreen [ttk::style layout TRadiobutton]
ttk::style configure TRadiobuttonGreen {*}[ttk::style configure TRadiobutton]
ttk::style map TRadiobuttonGreen {*}[ttk::style map TRadiobutton] -indicatorcolor {pressed #d9d9d9 selected green}

ttk::radiobutton .b1 -style TRadiobuttonGreen -variable a -value 1 -text "Option 1"
...

使用
单选按钮
命令可以选择
-selectcolor
选项。只需指定此选项的颜色

set a 1
radiobutton .b1 -selectcolor green -variable a -value 1 -text "Option 1"
radiobutton .b2 -selectcolor green -variable a -value 2 -text "Option 2"
radiobutton .b3 -selectcolor green -variable a -value 3 -text "Option 3"
pack .b1 .b2 .b3
如果不想单独指定每个radiobutton的颜色,可以在xresources数据库中设置此颜色

option add *Radiobutton.selectColor green
set a 1
radiobutton .b1 -variable a -value 1 -text "Option 1"
radiobutton .b2 -variable a -value 2 -text "Option 2"
radiobutton .b3 -variable a -value 3 -text "Option 3"
pack .b1 .b2 .b3

编辑:ttk的解决方案:

ttk::style theme use classic
ttk::style map TRadiobutton -indicatorcolor {pressed #d9d9d9 selected green}
set a 1
ttk::radiobutton .b1 -variable a -value 1 -text "Option 1"
ttk::radiobutton .b2 -variable a -value 2 -text "Option 2"
ttk::radiobutton .b3 -variable a -value 3 -text "Option 3"
pack .b1 .b2 .b3
如果不想重新定义全局样式,可以为radiobutton定义自己的ttk::style,并将其用于特定的小部件:

ttk::style layout TRadiobuttonGreen [ttk::style layout TRadiobutton]
ttk::style configure TRadiobuttonGreen {*}[ttk::style configure TRadiobutton]
ttk::style map TRadiobuttonGreen {*}[ttk::style map TRadiobutton] -indicatorcolor {pressed #d9d9d9 selected green}

ttk::radiobutton .b1 -style TRadiobuttonGreen -variable a -value 1 -text "Option 1"
...

请注意,这并不适用于所有平台。[JobsianMindTrick]但是你不想在MacOS X上更改菜单按钮的颜色。[/JobsianMindTrick]不幸的是,这在TCL 8.5中对我不起作用。此外,您使用的是Tk还是Ttk?@mefiX我为Ttk添加了解决方案。非常感谢,这很有效。实际上,我喜欢样式映射机制!请注意,这并不适用于所有平台。[JobsianMindTrick]但是你不想在MacOS X上更改菜单按钮的颜色。[/JobsianMindTrick]不幸的是,这在TCL 8.5中对我不起作用。此外,您使用的是Tk还是Ttk?@mefiX我为Ttk添加了解决方案。非常感谢,这很有效。实际上,我喜欢样式映射机制!