目次
ウィジェットのスタイルを編集する
ウィジェットのスタイルを編集するには、
ttk::style configure
コマンドに「スタイル名」、
「-オプション名」、
「オプションの値」を指定します。
ここで、「-オプション名」と「オプションの値」は複数指定することができます。
デフォルトのスタイルを設定する
ウィジェットのデフォルトのスタイルを設定するには、次のような手順で実現できます。
- スタイル編集時、「スタイル名」に任意のウィジェットの「クラス名
(
ttk::Label
ならTLabel
)」を指定する - 任意のウィジェットを作成する時に、
style
オプションを指定する必要は無い (指定しても良い)
Example
source code
package require Tk
wm title . "Tk win"
font create font1 -size 10 -weight "bold"
ttk::style configure TLabel -font font1 \
-background "#ffff00" \
-foreground "#009900"
font create font2 -size 8 -slant "italic"
ttk::style configure TButton -font font2 \
-background "#ffccff" \
-foreground "#0000ff"
ttk::label .label1 -text "Armadillo"
ttk::label .label2 -text "Bear"
ttk::label .label3 -text "Cat"
foreach w {.label1 .label2 .label3} {
$w configure -padding 8 -borderwidth 2 -relief "ridge"
pack $w
}
ttk::button .button -text "BUTTON"
pack .button -pady {8 0}
result
独自のスタイルを設定する
ウィジェットに独自のスタイルを設定するには、次のような手順で実現できます。
- スタイル編集時、「スタイル名」に「任意のスタイル名」を指定する
- 任意のウィジェットを作成する時に、
style
オプションには「任意のスタイル名」を指定する
Example
source code
package require Tk
wm title . "Tk win"
font create font1 -size 10
ttk::style configure TLabel -font font1 \
-background "yellow" \
-foreground "green"
font create font2 -size 10 -weight "bold"
ttk::style configure Strong.TLabel -font font2 \
-foreground "red"
ttk::label .label1 -text "Armadillo"
ttk::label .label2 -text "Bear" -style "Strong.TLabel"
ttk::label .label3 -text "Cat"
foreach w {.label1 .label2 .label3} {
$w configure -padding 8 -borderwidth 2 -relief "ridge"
pack $w
}
result
参考リンク
- TkDocs - Tk Tutorial - Styles and Themes
- Tcl Developer Site - ttk::style manual page - Tk Themed Widget
- Tcl Developer Site - ttk::intro manual page - Tk Themed Widget
- Tcler's Wiki - ttk::style