也許我錯了,但似乎沒有成爲一個「趕寫」選項。但是,仍然有一些選擇。
您可以將'takefocus'選項設置爲False。這將停止顯示虛線輪廓,但也會刪除控件之間選項卡的功能。
c = ttk.Checkbutton(master, text="Click My Text", variable=var, takefocus=False)
另一種辦法是改變短跑的顏色相匹配的背景:
style.configure('TCheckbutton', focuscolor=style.configure(".")["background"])
這類作品,但是你需要用高亮色太玩所以它總是看不見。
編輯
邊敲了一個小例子,以幫助一個評論,我發現了一個稍微容易的方式來做到這一點。使用cget()我們可以得到一個屬性的值。這可以用來代替擺弄風格,更易於閱讀和理解。
使用cget上面的例子變成:
style.configure('TCheckbutton', focuscolor=master.cget("background"))
這簡單地將焦點設置顏色等於主對象(窗口)的背景顏色。
按照要求,這裏是基於來自所述問題的原代碼一個完整的例子:
from tkinter import *
from tkinter import ttk
master = Tk()
style = ttk.Style()
style.theme_use('default')
style.configure('TCheckbutton', focuscolor=master.cget("background"))
style.configure('TCheckbutton', activebackground=master.cget("background"))
style.configure('TCheckbutton', background=master.cget("background"))
var = IntVar()
c = ttk.Checkbutton(master, text="Click My Text", variable=var)
c.pack()
mainloop()
在這裏,我們設置focuscolor,activebackground和背景顏色等於主窗口(主)的背景。這有刪除虛線邊框的效果。
但是,虛線邊框是有原因的。它向用戶顯示哪個控件具有焦點。當窗戶上只有一個控件時,它看起來有點奇怪。但是,當你有幾個它允許用戶使用鍵盤瀏覽你的應用程序比它更容易。
虛線輪廓有一個目的:它讓用戶知道哪個按鈕具有鍵盤焦點。 –