自定义 ttk:button
Customize ttk:button
嗨,
我正在寻找一种在我的 ttk::button 右角添加三角形的方法,如下所示:
有时同一个按钮执行2个命令,我想通过这个符号将他指定给我的用户
首先你需要图片:
set imgred [image create photo -file redcorner.png]
set imggreen [image create photo -file greencorner.png]
接下来为这些颜色中的每一种创建一个样式元素:
ttk::style element create Red.Corner.TButton.indicator image $imgred
ttk::style element create Green.Corner.TButton.indicator image $imggreen
现在为两种按钮样式中的每一种创建布局。
可以使用
检索原始 ttk::button 布局
ttk::style layout TButton
我们将其用作模板并添加我们的指标元素。
(编辑: 请注意,不同的主题可能有不同的布局。
以下示例适用于 'default' 主题。)
ttk::style layout Red.Corner.TButton {
Button.border -sticky nswe -border 1 -children {
Button.focus -sticky nswe -children {
Button.padding -sticky nswe -children {
Button.label -sticky nswe
Red.Corner.TButton.indicator -side right -sticky ne}}}}
ttk::style layout Green.Corner.TButton {
Button.border -sticky nswe -border 1 -children {
Button.focus -sticky nswe -children {
Button.padding -sticky nswe -children {
Button.label -sticky nswe
Green.Corner.TButton.indicator -side right -sticky ne}}}}
现在创建按钮的所有部分都已准备就绪:
ttk::button .b -text hello -style Red.Corner.TButton
要更改指示器颜色,只需使用其他样式重新配置即可:
.b configure -style Green.Corner.TButton
参考文献:ttk::style
嗨,
我正在寻找一种在我的 ttk::button 右角添加三角形的方法,如下所示:
有时同一个按钮执行2个命令,我想通过这个符号将他指定给我的用户
首先你需要图片:
set imgred [image create photo -file redcorner.png]
set imggreen [image create photo -file greencorner.png]
接下来为这些颜色中的每一种创建一个样式元素:
ttk::style element create Red.Corner.TButton.indicator image $imgred
ttk::style element create Green.Corner.TButton.indicator image $imggreen
现在为两种按钮样式中的每一种创建布局。 可以使用
检索原始 ttk::button 布局ttk::style layout TButton
我们将其用作模板并添加我们的指标元素。
(编辑: 请注意,不同的主题可能有不同的布局。
以下示例适用于 'default' 主题。)
ttk::style layout Red.Corner.TButton {
Button.border -sticky nswe -border 1 -children {
Button.focus -sticky nswe -children {
Button.padding -sticky nswe -children {
Button.label -sticky nswe
Red.Corner.TButton.indicator -side right -sticky ne}}}}
ttk::style layout Green.Corner.TButton {
Button.border -sticky nswe -border 1 -children {
Button.focus -sticky nswe -children {
Button.padding -sticky nswe -children {
Button.label -sticky nswe
Green.Corner.TButton.indicator -side right -sticky ne}}}}
现在创建按钮的所有部分都已准备就绪:
ttk::button .b -text hello -style Red.Corner.TButton
要更改指示器颜色,只需使用其他样式重新配置即可:
.b configure -style Green.Corner.TButton
参考文献:ttk::style