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

发布于 2024-11-03 03:10:29 字数 166 浏览 1 评论 0原文

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

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

欢迎任何建议。

亲切的问候, 梅菲克斯

is it possible to modify the color of a radiobutton's dot (i.e. only the fill-color of the diamond/circle)?
I am already using the classic theme, in order to get the old diamonds. But unfortunately, the fill-color of those diamonds is always some red and I need bright green.

Is that possible? Maybe by creating an own widget that "inherits/extends" the basic radio button?

Any kind of advice is welcome.

Kind regards,
mefiX

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅冕 2024-11-10 03:10:29

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

如果您不想重新定义全局样式,您可以为单选按钮定义自己的 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"
...

屏幕截图

The radiobutton command has -selectcolor option. Just specify the color for this option.

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

If you do not want to specify the color for each radiobutton individually, you can set this colot in xresources database.

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

EDIT: Solution for 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

You can define your own ttk::style for radiobutton and use it for particular widgets if you do not want to redefine the global 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"
...

Screenshot

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文