"TNotebook" とする必要があります。
その上で、特定のウィジェットにのみ独自のスタイルを追加したい場合は、
スタイル名を "xxx.TNotebook" の様に、ドットの左側に任意の名前を付けます。
49. Using and customizing ttk styles
s = ttk.Style()
s.configure('Kim.TButton', foreground='maroon')
Then to create a button in the new class you might use something like this:
self.b = ttk.Button(self, text='Friday', style='Kim.TButton',
command=self._fridayHandler)
追記: スタイル名のルールについては、
公式のドキュメントでも、あまり触れられていなかったと思います。
- ttk.Label に style="TButton" のようなこともできます。(適切な用法かどうかはともかく)
- スタイル名はリンク先にある表を参考に。大抵 "T" + クラス名ですが、例外有。(Treeview等)
- 上記のリンクには 'newName.oldName' と書かれています
が、これも反例有
"TNotebook.Tab" の様な、TNotebook の子要素の指定等もあり、ルールがとても曖昧です。
解釈としては、Tabから派生したTNotebook用のTabのスタイル。
- Creating a New, Derived Style
tcl/tkの大元の公式ドキュメントから紹介があるのはここ。
creating a new style (e.g. "Emergency.TButton") derived from the base style ("TButton") would be the appropriate thing to do.
名前規則は、イメージとしては「継承」に近いです。
例: AAA.TButton から更に派生した BBB.AAA.TButton を作成。
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style()
style.theme_use("clam") # TButton の背景色を簡単に変更する為
style.configure("AAA.TButton", background="black", foreground="white")
style.map("AAA.TButton", background=[("active","blue")])
# (AAA.TButton の backgroundを引継, foregroundを上書)
style.configure("BBB.AAA.TButton", foreground="yellow")
ttk.Button(root, text="HELLO", style="BBB.AAA.TButton").pack()
root.mainloop()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/10 00:26 編集