是否可以修改radiobutton点的颜色(即只有钻石/圆的填充颜色)? 我已经在使用经典主题,以获得旧钻石。但不幸的是,这些钻石的填充颜色总是有点红,我需要亮绿色。
这可能吗?也许通过创建一个“继承/扩展”基本单选按钮的自己的小部件?
欢迎任何建议。
亲切的问候, mefiX
答案 0 :(得分:3)
radiobutton
命令有-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
如果您不想单独指定每个单选按钮的颜色,可以在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"
...