Q&A
実現したいこと
独学でGUIを勉強しており、現在Checkbuttonを触っています。
チェックボックスの外観が好ましいttkのほうを実装しようとしているのですが、
以下の事象が発生しています。
①チェックボックスにフォーカスした際、文字列が点線で囲まれる
→点線が表示されないようにしたい
②チェックボックスにマウスフォーカスした際、チェックボックス内のチェックが青色になる
→マウスフォーカスで色が変わらないようにしたい
②はstyle.map
あたりで変更できる気がするのですが、具体的な記述がわからず実現できていません。
①に関しては、関連するオプションなどが調べても見当たらず、任意に設定できるのか不明です。
尚、テーマの設定は本件のチェックボタン以外の別のウィジェット用に、winnative
にしています。
ご回答よろしくお願いいたします。
該当のソースコード
Python
1import tkinter as tk 2import tkinter.ttk as ttk 3 4app = tk.Tk() 5app.geometry("300x100") 6 7chk = ttk.Checkbutton(app, text="CheckButton") 8chk.pack() 9 10style = ttk.Style() 11style.configure("test.TCheckbutton") 12style.theme_use("winnative") 13chk.configure(style="test.TCheckbutton") 14 15app.mainloop()
試したこと
pprint
でstyle.layout
を確認
Python
1from pprint import pprint 2 3pprint(style.layout("test.TCheckbutton")) 4>[('Checkbutton.padding', 5 {'children': [('Checkbutton.indicator', {'side': 'left', 'sticky': ''}), 6 ('Checkbutton.focus', 7 {'children': [('Checkbutton.label', {'sticky': 'nswe'})], 8 'side': 'left', 9 'sticky': 'w'})], 10 'sticky': 'nswe'})]
補足情報(FW/ツールのバージョンなど)
Windows11
Python 3.9.7
tk 8.6.11
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。